自动:发送("{DOWN}")不起作用



我正在运行"autoit3 "。chm文件。当它运行时,我想发送一个向下的箭头键,但它不起作用:

$file = FileGetShortName("C:UsersPHSD100-SICDesktopAutoIt3.chm")
Run(@ComSpec & " /c start " & $file)
WinWaitActive("AutoIT Help")
Send("{DOWN}")

你只是在等待错误的窗口标题…试试WinWaitActive("AutoIt Help"),它会起作用的…你的" T "必须是一个" T "…
要找出这一点,您只需要检查脚本输出,在打开CHM-File后,您将看到脚本仍在运行。但是您会期望它执行Send(...)然后终止。因此,您的脚本必须仍在等待预期的窗口出现。这将导致你再次检查你的窗口标题,可能你会直接复制窗口标题与自动窗口信息工具,这表明你的错误。改正它。Viola,开心点=)

此外:您不需要先运行命令提示符,您可以直接调用ShellExecute($file)

如果您使用AutoIt窗口信息工具,它有助于解决这些问题,并且使用ConsoleWrite(...) s进行调试也是很好的实践。

例如,一个简单的例子和前面一样。但是,您可能应该使用超时或变量,并使用成功/失败的返回值。
WinWaitActive("Window")
ConsoleWrite("Success")
Send("{DOWN}")
ConsoleWrite("Success")

使用以下语法down键输入

Send("{DOWN 2}") 

和类似的Up键输入

Send("{UP 2}")

相关内容

  • 没有找到相关文章

最新更新