Hast Du dir die Deklaration der GetUserName mal angeschaut?
Es gib 2 GetUserName unter Windows:
GetUserNameA
-> verwendet PAnsiChar, da es die
Ansi-Version ist
GetUserNameW
-> verwendet PWideChar, da es die Wide/
Unicode-Version ist
AnsiChar = 1 Byte pro Zeichen
WideChar = 2 Byte pro Zeichen
In den
Ansi-Versionen von Delphi wird PChar mit PAnsiChar besetzt und GetUserName verwendet GetUserNameA
In den
Unicode-Versionen von Delphi wird Pchar mit PWideChar besetzt und GetUserName verwendet GetUserNameW
So ist es mit allen Windows-
API Befehlen, welche über eine
ANSI oder
UNICODE (= WideString) Version verfügen.
Sprich alle Funktionen, die einen String liefern..
(Nur ne Kurzerläuterung, kein Anspruch auf Vollständigkeit !!)