因此,我运行了一个 sikuli 脚本,该脚本每 10 分钟连续监视并执行一次所述动作。然而,由于各种原因,有时运行会中断,如果脚本停止运行,则无法发出警报。
所以我尝试运行一个 python 脚本,它可以监控 sikuli IDE 的窗口。当脚本运行时,窗口不再可见。因此,如果窗口再次可见,python 脚本将运行一个批处理文件,该文件将触发所需的警报。以下是我通过在此站点中查看其他示例而制作的脚本:
WindowName = "SikulixIDE 1.1.3 - C:\\Users\\TestUser\\Downloads\\testing2.sikuli"
while True:
try:
if win32ui.FindWindow(None, WindowName):
subprocess.call([r'C:\Users\TestUser\Documents\notification.bat'])
break
except win32ui.error:
#print("its not running!")
continue
我在上面的代码中遇到的问题是,即使 sikuli 脚本正在运行并且我实际上看不到 IDE 窗口(带有 WindowName 的窗口),它仍然会找到它并进入 if 块。我不确定这里出了什么问题,如果窗口在任务管理器中不可见,FindWindow 应该找不到它,对吗?