簡體   English   中英

如果某個任務正在任務管理器中運行,如何在python中使用pywin或win32com.client進行檢查?

[英]How can I check with pywin or win32com.client in python if a certain task is running in task manager?

我不得不說例如在任務管理器中運行的任務firefox.exe。 使用python的win32com.client我想檢查firefox是否打開,給它消息,如果它沒有打開,給另一個消息,或者打開它或其他東西。

我嘗試打印所有進程,然后在process.Name中的進程中搜索“ firefox.exe”,但它不起作用

import wmi
import win32com.client

if win32com.client.GetActiveObject("firefox.application")
print("Running firefox !!!")
else:
print("No Firefox!!!")

這是我現在嘗試過的,但是沒有用

我想要python腳本在任務管理器中搜索一個進程,如果它沒有打開就可以打開它或執行其他操作。

謝謝

GetActiveObject用於獲取對已向全局運行對象表注冊的COM對象實例的引用。 這里並不是您真正需要的。 您可以使用COM接口連接Windows管理接口,以非常簡單地獲取進程列表。

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或其他屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM