Python正在尝试查找sikuli脚本目前是否正在运行

2024-05-03 22:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个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应该无法找到它,对吗


Tags: 文件脚本示例if网站原因警报ide
1条回答
网友
1楼 · 发布于 2024-05-03 22:25:50

我想说的是,你正试图用一种非常复杂的方式来做这件事

我强烈建议查看sikuli的'-r'选项,只编写一个sikuli脚本,它将自行处理异常,并且不需要监控

在这种情况下,如果您真的需要对脚本进行额外的监视,那么会更容易,因为您可以使用特定的命令行(而不是可见窗口)查找进程

相关问题 更多 >