Prozessaufzählung
Alle Benutzer haben Lesezugriff auf die Liste der Prozesse im System, und es gibt eine Reihe verschiedener Funktionen, die die aktiven Prozesse aufzählen. Die funktion, die Sie verwenden sollten, hängt von Faktoren wie der gewünschten Plattformunterstützung ab.
Die folgenden Funktionen werden zum Aufzählen von Prozessen verwendet.
Funktion | Beschreibung |
---|---|
EnumProcesses | Ruft den Prozessbezeichner für jedes Prozessobjekt im System ab. |
Process32First- | Ruft Informationen zum ersten Prozess ab, der in einer Systemmomentaufnahme aufgetreten ist. |
Process32Next- | Ruft Informationen zum nächsten Prozess ab, der in einer Systemmomentaufnahme aufgezeichnet wird. |
WTSEnumerateProcesses | Ruft Informationen zu den aktiven Prozessen auf dem angegebenen Terminalserver ab. |
Die Toolhelp-Funktionen und EnumProcesses alle Prozesse auflisten. Zum Auflisten der Prozesse, die in einem bestimmten Benutzerkonto ausgeführt werden, verwenden Sie WTSEnumerateProcesses und filtern Sie nach der Benutzer-SID. Sie können nach der Sitzungs-ID filtern, um Prozesse auszublenden, die in anderen Terminalserversitzungen ausgeführt werden.
Sie können Prozesse auch nach Benutzerkonto filtern, unabhängig von der Enumerationsfunktion, indem Sie OpenProcess-, OpenProcessToken-und GetTokenInformation mit TokenUser-aufrufen. Sie können jedoch keinen Prozess öffnen, der durch einen Sicherheitsdeskriptor geschützt ist, es sei denn, Sie haben Zugriff gewährt.