我想知道用户最近打开了一个应用程序的时间,例如,如果“ 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())
当前,这是我的方法,但是效率很低。有人可以提供更好的方法吗?预先感谢。
答案 0 :(得分:3)
如何使用pywinauto库。
像这样
import pywinauto
pywinauto.timings.wait_until_passes(20, 0.5, lambda: pywinauto.findwindows.find_windows(best_match=u'notepad.exe')[0])