Moin Xaver,
ich hab' mal ein kleines Beispiel erstellt:
Delphi-Quellcode:
var
pwuiWork : PWKSTA_USER_INFO_1;
begin
if NetWkstaUserGetInfo(nil,1,@pwuiWork) = NErr_Success then
begin
try
ShowMessage(
WideCharToString(pwuiWork.wkui1_logon_domain)+'\'+
WideCharToString(pwuiWork.wkui1_username)
);
finally
NetApiBufferFree(pwuiWork);
end;
end;
end;
Anhand des Usernamens kann man ja nicht auf die Domain schliessen, da ja ein Name in mehreren Domänen vorhanden sein kann.
Dieses Beispiel gibt nur die Domäne und den Usernamen des gerade angemeldeten Users zurück.
Bliebe noch zu erwähnen, dass diese Funktion im Kontext des angemeldeten Users aufgerufen werden muss. Ein Aufruf aus einem Programm heraus, dass im Kontext eines anderen Users läuft (z.B. über SU Dienst gestartet) könnte falsche Werte zurückliefern (ich hab's noch nicht ausprobiert)