微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法使AutoIt的WinWaitActive关心,如果一个窗口是可见的

我的脚本应该等待IE的“select文件”对话框出现,然后使其消失,并用自定义的select文件界面replace它。 我已经完成了所有的工作,但有一件事情让我唠叨。 代码如下:

WinWaitactive("Select File") WinSetState("Select File","",@SW_HIDE)

问题似乎是“select文件”对话框(无形)由IE创build,使活动, 然后变得可见。 这确实是一个基本的线程问题:

在某些情况下,IE使对话框激活(但不可见!)。 我的脚本select它, 隐藏对话框(实际上已经隐藏),然后IE使对话框可见,结果在一个可见的对话框(!)。

有什么select我可以设置使得WinWaitactive命令也等待窗口可见,而不仅仅是活动?

Windows批处理脚本问题

使用AutoIT在浏览器中select一些元素

您可以使用下面的功能来了解窗口是否可见。

Func IsWindowVisible($handle) If BitAnd(WinGetState($handle),2) Then Return 1 Else Return 0 EndIf EndFunc

那么你可以使用这样的循环做你想做的事情:

While 1 If IsWindowVisible(FindWindow("Select File","")) Then ; I'm not sure about FindWindow Syntax WinSetState("Select File",@SW_HIDE) Break Else Sleep (1000) EndIf EndWhile

希望这可以帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐