Funktionreferenz


_WinAPI_OpenProcess

Beschreibung anzeigen in

Gibt ein Handle eines existierenden Prozessobjekts zurück

#include <WinAPIProc.au3>
_WinAPI_OpenProcess ( $iAccess, $bInherit, $iPID [, $bDebugPriv = False] )

Parameter

$iAccess Legt den Zugriff auf das Prozessobjekt fest
$bInherit Legt fest, ob das zurückgegebene Handle geerbt werden kann
$iPID Legt den Identifizierer des zu öffnenden Prozesses fest
$bDebugPriv [optional] Bestimmte Systemprozesse können nicht geöffnet werden es sei denn man verfügt über Debug Sicherheits-Privilegien. Falls TRUE, wird die Funktion veranlasst den Prozess mit Debug-Privilegien, sollte der Prozess nicht mit Standard Zugriffs-Privilegien geöffnet werden können.

Rückgabewert

Erfolg: der Prozesshandle zu dem Objekt
Fehler: Setzt das @error Flag auf ungleich null

Verwandte Funktionen

_WinAPI_CloseHandle, _WinAPI_ReadProcessMemory, _WinAPI_WriteProcessMemory

Siehe auch

Suche nach OpenProcess in der MSDN Bibliothek.

Beispiel

#include <ProcessConstants.au3>
#include <WinAPIHObj.au3>
#include <WinAPIProc.au3>
#include <WinAPISys.au3>

; _WinAPI_CreateProcess() will be the best solution
Local $iPID = Run('cmd.exe /k')
If Not $iPID Then
    Exit
EndIf

; Note, immediately open the process
Local $hProcess
If Number(_WinAPI_GetVersion()) >= 6.0 Then
    $hProcess = _WinAPI_OpenProcess($PROCESS_QUERY_LIMITED_INFORMATION, 0, $iPID)
Else
    $hProcess = _WinAPI_OpenProcess($PROCESS_QUERY_INFORMATION, 0, $iPID)
EndIf
If Not $hProcess Then
    Exit
EndIf

; Wait until the process exists, try enter "exit 6"
While ProcessExists($iPID)
    Sleep(100)
WEnd

ConsoleWrite('Exit code: ' & _WinAPI_GetExitCodeProcess($hProcess) & @CRLF)

_WinAPI_CloseHandle($hProcess)