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)