如何获取PyWin32进程的PID
我正在使用PyWin32扩展,通过我的Python代码进行一些Microsoft Office的计算。
这是我启动Word的方式:
import win32com.client
wordApp = win32com.client.Dispatch("Word.Application")
# calculations...
# Now, how do I get its PID?
我现在想弄明白的是如何获取wordApp的进程ID(PID),因为我没有使用subprocess
模块,所以不能直接输入wordApp.pid
。
提前谢谢大家。
3 个回答
0
这段代码的意思是,首先创建一个叫做“application_name”的应用程序对象。
然后,它会打印出这个应用程序的进程ID,也就是它在电脑上运行时的唯一标识符,格式是“你得到了你的进程ID %d”。
0
我觉得myProcess是指向Word对象的一个引用,无法获取你的进程信息。
你可能需要连接到WMI(Windows管理工具)来获取进程的详细信息,比如:
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
希望我理解的问题是对的,这样能帮到你。
5
我正在做类似的事情,不过是处理Excel对象。为了获取进程ID,我是这样做的:
import win32process
import win32com
self.application = win32com.client.DispatchEx('Excel.Application')
t, p = win32process.GetWindowThreadProcessId(self.application.Hwnd)
在这些变量中,p就是进程ID(在任务管理器中显示的那个)。
希望这能帮到你,尽管时间已经过去了。