我尝试使用WMI获取一些进程所有者的信息。我试着运行这个脚本:import win32com.client
process_wmi = set()
strComputer = "."
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
process_list = objSWbemServices.ExecQuery("Select * from Win32_Process")
for process in process:
owner = process.GetOwner
if owner != 0:
print('Access denied')
else:
print('process: ',process.Name, 'PID: ', process.ProcessId, 'Owner: ', owner)
当然,我得到owner = 0 (Successful Completion)
当我试图调用process.GetOwner()时,我得到一个错误:TypeError: 'int' object is not callable
如何正确使用这种方法?用什么参数或者用什么标志?在
我尝试实现并使用这个方法here,但我无法将代码转换为我的情况并获得进程所有者。=(
或者有人知道另一种方法,如何获取流程所有者的信息。可能与WinApi方法一起使用?在
谢谢你的帮助!在