Here's a simple example using WMI. There's prob better ways (dll call) but this is what I've got to contribute. Func _ProcessOwner($pid=0,$hostname=".") $objWMIService = ObjGet("winmgmts://" & $hostname & "/root/cimv2") $colProcess = $objWMIService.ExecQuery("Select * from Win32_Process Where ProcessID ='" & $pid & "'") For $objProcess In $colProcess If $objProcess.ProcessID = $pid Then $usr = 0 $objProcess.GetOwner($usr) Return $usr EndIf Next EndFunc