Ich sehe grade, dass es für die aktuelle Sitzung sogar Konstanten gibt. Folgender Aufruf sollte für dich funktionieren:
Delphi-Quellcode:
function WTSQuerySessionInformationW(hServer: THandle; SessionId: DWord; WTSInfoClass: DWord;
var ppBuffer: LPTSTR; var BytesReturned: DWord): BOOL; stdcall;
external 'Wtsapi32.dll';
procedure WTSFreeMemory(pMemory: Pointer); stdcall;
external 'Wtsapi32.dll';
procedure Test;
const
WTS_CURRENT_SERVER_HANDLE = 0;
WTS_CURRENT_SESSION = DWord(-1);
const
WTSUserName = 5;
var
Buffer: LPTSTR;
BytesReturned: DWord;
begin
if WTSQuerySessionInformationW(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, WTSUserName,
Buffer, BytesReturned) then
try
ShowMessage(Buffer);
finally
WTSFreeMemory(Buffer);
end;
end;