例如,我不得不说任务火狐.exe在任务管理器中运行。 使用python的win32com.client,我想检查Firefox是否打开,给出一条消息,如果它没有打开,则给出另一条消息或打开它或其他东西
我尝试打印所有进程,然后在正在进行的进程中搜索"firefox.exe"。名称,但它不起作用
import wmi
import win32com.client
if win32com.client.GetActiveObject("firefox.application")
print("Running firefox !!!")
else:
print("No Firefox!!!")
这是我现在尝试过的,但它不起作用
我希望python脚本在任务管理器中搜索一个进程,如果它没有打开,则打开它或做其他事情。
谢谢
GetActiveObject
用于获取对已注册到全局运行对象表的 COM 对象实例的引用。这不是你在这里真正需要的。不过,您可以使用Windows管理界面的COM接口非常简单地获取进程列表。
import win32com
wmi = win32com.client.GetObject('winmgmts:')
pids = [p.ProcessId for p in wmi.InstancesOf('win32_process') if p.Name == 'firefox.exe']
因此,我们可以使用 WMI Win32_Process 类获取进程列表,并筛选可执行文件名称,并从进程对象获取进程 ID 或其他属性。