2017-01-13 2 views
0

Ich habe eine Benutzer win32-Anwendung. Das listet alle Prozessdetails zusammen mit ProcessId auf. Ich muss den Benutzernamen zusammen mit der Sitzungs-ID drucken. SessionID wird mithilfe der ProcessIdToSessionId() -Methode aufgelistet. Ich möchte den Benutzernamen der entsprechenden SessionID drucken. Diese Anwendung wurde speziell für Windows XP entwickelt, daher sollte die API Windows XP unterstützen. Wenn jemand die Lösung kennt, teilen Sie es bitte mit.Wie finden Sie den Benutzernamen aus der Sitzungs-ID?

DWORD dwSessionId,dwPid,dwErr; 
char* Uname; 
ProcessIdToSessionId(dwPid,&dwSessionId); 
+0

Mögliches Duplikat von [C++ Benutzername Von Prozess Get] (http://stackoverflow.com/questions/2686096/c-get-username-from-process) – Ari0nhh

+0

ich mit diesem Code habe versucht, aber es scheiterte Windows XP. gibt es andere Möglichkeiten, es zu finden? –

+0

@MarshalSebastian fehlgeschlagen, wie genau? Bitte sei spezifischer. –

Antwort

1

WTSQuerySessionInformation() mit dem WTSInfoClass Parameter auf WTSUserName:

Ein Null endende Zeichenfolge, die den Namen des Benutzers mit der Sitzung verknüpft enthält.

+0

[WTSQuerySessionInformation] (https://msdn.microsoft.com/en-us/library/aa383838.aspx) wird auch verwendet diese Methode unterstützt nicht in einigen unserer Windows XP 32-Bit-Laptops. Deshalb habe ich nach einer alternativen Lösung gefragt. –

+0

@MarshalSebastian dann sollten Sie das im Voraus gesagt haben und erklärt, wie es für Sie nicht funktioniert. –

Verwandte Themen