有没有办法确保程序在发送另一个之前响应从AutoHotkey发送的击键?我想尽快发送击键,但问题是某些菜单/窗口等需要一些时间。出现,所以我似乎需要指定密钥延迟并使用Send
,或者使用Sleep
(意味着它可能不会“尽快”),否则AutoHotkey可能会发送键太快,反过来可能做一些你不想做的事。
答案 0 :(得分:0)
您可以立即发送所有按键。你知道,你可以发送整个字符串。
但是,如果窗口已经处于活动状态并且您可以向其发送一次击键,那么只要窗口在击键之间没有失去焦点,您就不会有任何问题。
如果窗口似乎不接受sendinput
,您也可以尝试使用send
而非send
。
在我的电脑上,我设置了 win + space ,将这行破折号作为一个字符串发送,并在几分之一秒内完成:-------------------------------------------------------------------
另一种选择是粘贴字符串而不是发送击键。只需使用send ^v
粘贴变量的内容即可。这比使用send
发送字符串要快得多,但您需要确保您的窗口能够接收粘贴命令。
我说这些是因为根本没有必要检查。你可以放心,密钥正在发送 - 这就是ahk应该做的,你知道。
您可能获得确认的唯一方法是,您是否正在发送编辑控件并可以取回您发送的文本。
无法确认菜单是否已收到击键。你必须测试它,直到它正常工作。
答案 1 :(得分:0)
您可能需要查看以下命令:
ControlSend / ControlClick和ControlGet / ControlGetText
前两个允许您直接在特定控件中设置文本/选项,后两个允许您读取当前在特定控件中设置的文本/选项。