GetProcessHandleFromHwnd-Funktion
Ruft ein Prozesshand handle aus einem Fensterhand handle ab.
Syntax
HANDLE WINAPI GetProcessHandleFromHwnd(
_In_ HWND hwnd
);
Parameter
-
hwnd [ In]
-
Typ: HWND
Das Fensterhandle.
Rückgabewert
Typ: HANDLE
Bei Erfolg wird das Handle des Prozesses zurückgegeben, der das Fenster besitzt.
Wenn dies nicht erfolgreich ist, wird NULL zurückgegeben.
Hinweise
In früheren Versionen des Betriebssystems konnte ein Prozess einen anderen Prozess (z. B. für den Zugriff auf den Arbeitsspeicher) mithilfe von OpenProcess öffnen. Diese Funktion ist erfolgreich, wenn der Aufrufer über entsprechende Berechtigungen verfügt. In der Regel müssen der Aufrufer und der Zielprozess derselbe Benutzer sein.
Unter Windows Vista schlägt OpenProcess jedoch in dem Szenario fehl, in dem der Aufrufer ÜBER UIAccess verfügt und der Zielprozess erhöht ist. In diesem Fall befindet sich der Besitzer des Zielprozesses in der Gruppe Administratoren, aber der aufrufende Prozess wird mit dem eingeschränkten Token ausgeführt, verfügt also nicht über eine Mitgliedschaft in dieser Gruppe und wird dem Zugriff auf den Prozess mit erhöhten Rechten verweigert. Wenn der Aufrufer jedoch über UIAccess verfügt, kann er einen Windows-Hook verwenden, um Code in den Zielprozess einzujizieren, und innerhalb des Zielprozesses ein Handle zurück an den Aufrufer senden.
GetProcessHandleFromHwnd ist eine Komfortfunktion, die diese Technik verwendet, um das Handle des Prozesses zu erhalten, der das angegebene HWND besitzt. Beachten Sie, dass dies nur in Fällen erfolgreich ist, in denen der Aufrufer und der Zielprozess als derselbe Benutzer ausgeführt werden. Das zurückgegebene Handle verfügt über die folgenden Berechtigungen: PROCESS _ DUP _ HANDLE PROCESS VM OPERATION PROCESS VM READ PROCESS VM | WRITE _ _ | _ _ | _ _ | SYNCHRONIZE. Wenn andere Berechtigungen erforderlich sind, kann es erforderlich sein, die Hookmethode explizit zu implementieren, anstatt diese Funktion zu verwenden.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows Nur [ XP-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2003-Desktop-Apps] |
| DLL |
|