UDF > WinAPIEx > Processes & Synchronization > Processes >


_WinAPI_EnumProcessModules

Obtient le handle et le nom de chaque module du processus sp�cifi�

#include <WinAPIProc.au3>
_WinAPI_EnumProcessModules ( [$iPID = 0 [, $iFlag = 0]] )

Param�tres

$iPID [optionnel] Le PID du processus. Par d�faut (0) est le processus actuel.
$iFlag [optionnel] Les crit�res de filtrage. Ce param�tre n'est valable que pour Windows Vista ou une version ult�rieure , et peut prendre l'une des valeurs suivantes:
    $LIST_MODULES_32BIT
    $LIST_MODULES_64BIT
    $LIST_MODULES_ALL
    $LIST_MODULES_DEFAULT (par d�faut)

Valeur de retour

Succ�s: Retourne le tableau 2D contenant les informations suivantes:
    [0][0] - Nombre de lignes du tableau (n)
    [0][1] - Inutilis�
    [n][0] - Handle du module.
    [n][1] - Chemin du fichier qui contient le module.
�chec: D�finit @error <> 0.

Remarques

Cette fonction ne r�cup�re pas les handles des modules qui ont �t� charg�s avec le flag $LOAD_LIBRARY_AS_DATAFILE.
Pour plus d'informations, consultez _WinAPI_LoadLibraryEx().

N'appelez pas _WinAPI_CloseHandle() sur un handle retourn� par cette fonction.
L'information provient d'un instantan�, donc il n'y a pas de ressources � lib�rer.

Si _WinAPI_EnumProcessModules() est appel�e � partir d'une application 32 bits s'ex�cutant sur WOW64, elle peut seulement �num�rer les modules d'un processus 32 bits.
Si le processus est un processus 64 bits, cette fonction �choue et le code de la derni�re erreur est ERROR_PARTIAL_COPY (299).

Voir aussi

Consultez EnumProcessModulesEx dans la librairie MSDN.

Exemple

#include <Array.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIProc.au3>
#include <WinAPISys.au3>

If (Number(_WinAPI_GetVersion()) < 6.0) And (@AutoItX64) Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Cet exemple tourne sous un syst�me  64-bit seulement sous Windows Vista ou une version ult�rieure.')
    Exit
EndIf

Local $aData = _WinAPI_EnumProcessModules()

_ArrayDisplay($aData, '_WinAPI_EnumProcessModules')