Я попытался получить некоторую информацию о владельце процесса, используя WMI. Я попытался запустить этот скрипт:Как получить владельца процесса с помощью Python с помощью 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?
Спасибо за помощь!
Спасибо, но я могу использовать только WinApi или WMI в моем проекте. – user2319786
Обновлено сообщение, добавлено решение wmi. –
Спасибо, что работает отлично! – user2319786