Hier erst mal eine funktionierende Funktion um den lokalen Benutzer abzufragen:
(MAX_COMPUTERNAME_LENGTH ist nicht gleich der max. Länge des Benutzers)
Delphi-Quellcode:
function GetLocalUserName: string;
var
Count: DWORD;
begin
Count := 256 + 1; // UNLEN + 1
SetLength(Result, Count);
if GetUserName(PChar(Result), Count) then
StrResetLength(Result)
else
Result := '';
end;
Natürlich würde man diese Funktion niemals ändern nur um noch einen Text hinzuzufügen!
Den Benutzernamen um irgendeinen Hinweistext zu erweitern ist trivial.
Goldene Regel bei der Stringverarbeitung:
Wenn man Probleme hat, immer Zwischenvariablen verwenden.
Eine ganz einfache Sache; man darf nur nicht schreibfaul sein.
Delphi-Quellcode:
var
Benutzermeldung : string;
begin
Benutzermeldung := 'Benutzername ist <'+GetLocalUserName+'>';
ShowMessage(Benutzermeldung);
end;