首页 > 解决方案 > 如何检查最近是否使用python打开了应用程序?

问题描述

我想知道用户最近何时打开了一个应用程序,例如,如果打开了“notepad.exe”,那么脚本应该能够检测到它最近是否被打开,而无需一次又一次地遍历所有进程。

def checkIfApplicationOpened():
    for proc in psutil.process_iter():
        try:
            pinfo = proc.as_dict(attrs=['name'])
            if(pinfo['name'] == 'notepad.exe'):
                return True
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            return False
    return False    

while True:
    print(checkIfApplicationOpened())

目前,这是我的方法,但效率很低。有人可以提供更好的方法吗?提前致谢。

标签: pythonwindows

解决方案


如何使用 pywinauto 库。

像这样

import pywinauto

pywinauto.timings.wait_until_passes(20, 0.5, lambda: pywinauto.findwindows.find_windows(best_match=u'notepad.exe')[0])

推荐阅读