�num�re les handles qui appartiennent au processus sp�cifi�
#include <WinAPIProc.au3>
_WinAPI_EnumProcessHandles ( [$iPID = 0 [, $iType = 0]] )
$iPID | [optionnel] Le PID du processus. Par d�faut, (0) est le processus actuel. |
$iType | [optionnel] La valeur associ�e au type d'objets � �num�rer. Cette valeur d�pend du syst�me d'exploitation. Si ce param�tre est 0 (par d�faut), tous les handles du processus sp�cifi� seront �num�r�s. |
Succ�s: | Retourne le tableau 2D contenant les informations suivantes: [0][0] - Nombre de lignes dans le tableau (n) [0][1] - Inutilis� [n][0] - Handle [n][1] - Type (d�pend du syst�me d'exploitation) [n][2] - Attributs [n][3] - Acc�s |
�chec: | D�finit @error <> 0, @extended peut contenir le code d'erreur NTSTATUS. |
Consultez ZwQuerySystemInformation dans la librairie MSDN.
#include <Array.au3> #include <ProcessConstants.au3> #include <WinAPIHObj.au3> #include <WinAPIProc.au3> Global Const $PID = @AutoItPID Local $hSource, $hTarget, $hObject Local $aData = _WinAPI_EnumProcessHandles($PID) If IsArray($aData) Then $hTarget = _WinAPI_GetCurrentProcess() $hSource = _WinAPI_OpenProcess($PROCESS_DUP_HANDLE, 0, $PID) If $hSource Then For $i = 1 To $aData[0][0] $hObject = _WinAPI_DuplicateHandle($hSource, $aData[$i][0], $hTarget, 0, 0, 2) If Not @error Then $aData[$i][1] = _WinAPI_GetObjectNameByHandle($hObject) _WinAPI_CloseHandle($hObject) EndIf Next EndIf EndIf _ArrayDisplay($aData, '_WinAPI_EnumProcessHandles')