Rom*_*esh -1 automation autoit
我想单击EXE文件表单上的按钮.
以下是我尝试过的代码.
WinWaitActive("ABCD")
ControlClick("ABCD","Defer","[CLASS:Button; INSTANCE:2]")
Run("ClickDefer.exe")
Run Code Online (Sandbox Code Playgroud)
WinWaitActive("ABCD")等到名为ABCD的窗口成为焦点.如果ABCD窗口成为焦点,这可以正常工作.如果不是焦点则不起作用.我该如何克服这个问题?
好吧,你应该使用无限循环而不是一遍又一遍地运行相同的编译脚本.并且JonBecher是对的,但是错过了案例,窗口永远不会变得活跃.所以你的解决方案是:
While True
$win = WinWait("ABCD", "Defer")
ControlClick($win, "", "[CLASS:Button; INSTANCE:2]")
WinWaitClose($win)
Wend
Run Code Online (Sandbox Code Playgroud)
这意味着,您的点击将关闭窗口,并且您希望等待同一窗口在将来再次显示.否则你的完整意图 - Run(...)调用是没有意义的.
随着ControlClick(...)你不需要有你的激活窗口,甚至可见.