我有一个Python代码,该代码需要检查可执行文件是否正在运行,但是以某种不同的方式。可执行文件需要一些时间才能启动(显示加载屏幕),具体取决于计算机本身的速度。
单击可执行文件后,启动它的过程如下所示: 这需要几秒钟的时间,具体取决于计算机的速度。
当可执行文件处于活动状态时(加载屏幕消失,显示窗口),该过程从后台过程转移到“应用程序”部分。
现在,我拥有能够确定某个进程是否正在运行的代码。
import psutil as psu
"gom_inspect.exe" in (p.name() for p in psu.process_iter())
但是此代码已经在加载屏幕上显示了“ True”(作为后台进程),而如果程序处于活动状态并且可以使用,则我需要将其设置为“ True”。
当可执行文件位于“应用程序”部分而不是“后台进程”部分时,Python如何显示“ True”?
请让我知道是否不清楚。
我希望有人能提供帮助。
答案 0 :(得分:0)
您可以使用pywinauto获取打开的窗口列表,而无需后台进程。然后检查您要查找的应用程序的标题是否在列表中。假设标题为“ GOM检查”:
from pywinauto import Desktop
windows = Desktop(backend="uia").windows()
"GOM Inspect" in [w.window_text() for w in windows]