如何用 python 中的 pywin 或 win32com.client 检查某个任务是否在任务管理器中运行?



例如,我不得不说任务火狐.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 或其他属性。

相关内容

最新更新