_UserProcessExists: Läuft ein Prozess unter einem bestimmten Benutzer
Verfasst: 13.02.2013, 21:11
Parameter:
$sProcessName = Name des Prozesses, der überwacht werden soll.
$sProcessUser = Nutzer, der auf Ausführung des o.g. Prozesses geprüft werden soll.
Return:
Prozess-ID des gefundenen Prozesses.
0, wenn der angegebene Prozess nicht unter dem angegebenen Benutzer läuft.
$sProcessName = Name des Prozesses, der überwacht werden soll.
$sProcessUser = Nutzer, der auf Ausführung des o.g. Prozesses geprüft werden soll.
Return:
Prozess-ID des gefundenen Prozesses.
0, wenn der angegebene Prozess nicht unter dem angegebenen Benutzer läuft.
Code: Alles auswählen
Func _UserProcessExists($sProcessName, $sProcessUser)
Local $sUserName
Local $objWMI = ObjGet("winmgmts:\\" & @ComputerName & "\root\cimv2")
If IsObj($objWMI) Then
Local $colResults = $objWMI.ExecQuery('SELECT * FROM Win32_Process WHERE Name = "' & $sProcessName & '"')
For $objItem in $colResults
$objItem.GetOwner($sUserName, @LogonDomain)
If $sUserName = $sProcessUser Then Return $objItem.Handle
Next
EndIf
Return 0
EndFunc