Erstellt ein Duplikat eines Objekt-Handles
#include <WinAPIHObj.au3>
_WinAPI_DuplicateHandle ( $hSourceProcessHandle, $hSourceHandle, $hTargetProcessHandle, $iDesiredAccess, $iInheritHandle, $iOptions )
$hSourceProcessHandle | Ein Handle zum Prozess mit dem Handle das dupliziert werden soll |
$hSourceHandle | Das Handle das dupliziert werden soll |
$hTargetProcessHandle | Ein Handle zu dem Prozess der das duplizierte Handle erhalten soll |
$iDesiredAccess | Der gewünschte Zugang für das neue Handle |
$iInheritHandle | Eine Variable die anzeigt ob das Handle vererbbar ist |
$iOptions | Optionale Aktionen |
Erfolg: | Neues Handle |
Fehler: | 0. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten |
_WinAPI_CloseHandle, _WinAPI_OpenProcess
Suche nach DuplicateHandle in der MSDN Bibliothek.
#include <WinAPIHObj.au3>
Local $hCurProcessPseudo = _WinAPI_GetCurrentProcess()
ConsoleWrite("Pseudo Handle für aktuellen Prozess = " & $hCurProcessPseudo & @CRLF)
Local $hCurProcess = _WinAPI_DuplicateHandle($hCurProcessPseudo, $hCurProcessPseudo, $hCurProcessPseudo, Default, True, $DUPLICATE_SAME_ACCESS)
ConsoleWrite("Richtiges Handle für aktuellen Prozess = " & $hCurProcess & @CRLF)
;...
; Handle nach Gebrauch schließen
_WinAPI_CloseHandle($hCurProcess)