Ich habs jetzt folgendermaßen gelöst: (Einfache Version)
Delphi-Quellcode:
function GetUser: string;
const
UNLEN = 256; // Maximum user name length (LmCons.h)
var
Size: DWORD;
begin
Size := UNLEN + 1;
SetLength(Result, Size);
if GetUserName(PChar(Result), Size) then
begin
SetLength(Result, Size);
Result := String(Pchar(Result)); // <- Sonst Fehler...
end
else
Result := '';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
...
Datei := 'C:\Dokumente und Einstellungen\'+GetUser+'\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp';
...
end;
Nur hatte ich das Problem, dass ich ohne die zusätzliche Zeile in GetUser nichts mehr an den String anhängen konnte. Gelöst habe ich das Problem mit der //Sonst Fehler Zeile, es geht aber auch mit Trim(GetUser)... Was davon ist sinnvoller?