如何检查最近是否使用python打开了应用程序?

时间:2019-12-23 06:00:09

标签: python windows

我想知道用户最近打开了一个应用程序的时间,例如,如果“ 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())

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

1 个答案:

答案 0 :(得分:3)

如何使用pywinauto库。

像这样

import pywinauto

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