Obtient le nom d'utilisateur et de domaine du processus spécifié
#include <WinAPIProc.au3>
_WinAPI_GetProcessUser ( [$iPID = 0] )
$iPID | [optionnel] Le PID du processus. Par défaut (0) est le processus actuel. |
Succès: | Retourne le tableau qui contient les informations suivantes: [0] - Le nom de compte de l'utilisateur. [1] - Le nom de domaine. |
Échec: | Définit @error <> 0. |
L'utilisation de cette fonction pour certains processus pourrait nécessiter des droits d'accès complets. utilisez la fonction _WinAPI_AdjustTokenPrivileges() pour activer le privilège $SE_DEBUG_NAME avant d'appeler cette fonction.
#RequireAdmin #include <Array.au3> #include <WinAPIHObj.au3> #include <WinAPIProc.au3> Local $aAdjust, $aList = 0 ; Active le privilège "SeDebugPrivilege" pour obtenir les droits d'accès complets à un autre processus Local $hToken = _WinAPI_OpenProcessToken(BitOR($TOKEN_ADJUST_PRIVILEGES, $TOKEN_QUERY)) _WinAPI_AdjustTokenPrivileges($hToken, $SE_DEBUG_NAME, $SE_PRIVILEGE_ENABLED, $aAdjust) ; Obtient les noms utilisateur pour tous les processus du sytème If Not (@error Or @extended) Then $aList = ProcessList() Local $aData For $i = 1 To $aList[0][0] $aData = _WinAPI_GetProcessUser($aList[$i][1]) If IsArray($aData) Then $aList[$i][1] = $aData[0] Else $aList[$i][1] = '' EndIf Next EndIf ; Active le privilège SeDebugPrivilege par défaut _WinAPI_AdjustTokenPrivileges($hToken, $aAdjust, 0, $aAdjust) _WinAPI_CloseHandle($hToken) _ArrayDisplay($aList, '_WinAPI_GetProcessUser')