我正在使用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
模块,我不能只输入{ {1}}。
提前致谢。
答案 0 :(得分:1)
我正在做类似的事情,但是调度excel对象。为了获取流程ID,请执行以下操作:
self.application = win32com.client.DispatchEx('Excel.Application')
t, p = win32process.GetWindowThreadProcessId(self.application.Hwnd)
从这些变量中,p是进程ID(任务管理器中显示的ID)。
希望这会有所帮助,尽管已经过去了。
答案 1 :(得分:0)
我认为myProcess是对调度的Word对象的引用,无法获取进程信息。
您可能必须连接到WMI以获取流程详细信息,如:
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
我希望我理解这个问题,这有帮助。