Thanks AsmMan,
Found
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724432%28v=vs.85%29.aspx
and with your help, now understand :)
The syntax below prints a blank after my username, so the slice
seems a bit too long :O So my "final solution" looks like:
module main;
import std.stdio;
import std.c.windows.windows;
pragma(lib, "user32.lib");
pragma(lib, "Advapi32");
void main(string[] args)
{
WCHAR lpwszUsername[254];
DWORD dUsername2 = 254;
GetUserNameW(lpwszUsername.ptr, &dUsername2);
writefln("Welcome userW %s", lpwszUsername[0..(dUsername2 -
1));
writeln();
}
THANKS again!!!
On Tuesday, 16 September 2014 at 00:03:55 UTC, AsmMan wrote:
GetUserNameW() return a zero on error and non-zero on success.
The actual number of bytes copied into lpwszUsernam is in
dUsername2.
auto userName = lpwszUsername[0..dUsername2];