Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


vitalisvv, вариант через WMI:
Код: Выделить весь код
$aList = ProcessList ("SciTE.exe")
For $i=1 To $aList[0][0]
    ConsoleWrite($aList[$i][1] &": "& _ProcessGetOwner($aList[$i][1]) &@CRLF)
Next

Func _ProcessGetOwner($PID, $sComputer = ".")
    Local $objWMI, $colProcs, $sUserName, $sUserDomain
    $objWMI = ObjGet("winmgmts:\\" & $sComputer & "\root\cimv2")
    If IsObj($objWMI) Then
        $colProcs = $objWMI.ExecQuery("Select ProcessId From Win32_Process Where ProcessId="& $PID)
        If IsObj($colProcs) Then
            For $Proc In $colProcs
                If $Proc.GetOwner($sUserName, $sUserDomain)=0 Then Return $sUserDomain & "\" & $sUserName
            Next
        EndIf
    EndIf
EndFunc
FYI: _ProcessListProperties(), List many properties of a process
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:01, 07-07-2009 | #3