确保窗口响应击键

时间:2013-11-18 03:13:19

标签: autohotkey

有没有办法确保程序在发送另一个之前响应从AutoHotkey发送的击键?我想尽快发送击键,但问题是某些菜单/窗口等需要一些时间。出现,所以我似乎需要指定密钥延迟并使用Send,或者使用Sleep(意味着它可能不会“尽快”),否则AutoHotkey可能会发送键太快,反过来可能做一些你不想做的事。

2 个答案:

答案 0 :(得分:0)

您可以立即发送所有按键。你知道,你可以发送整个字符串。

但是,如果窗口已经处于活动状态并且您可以向其发送一次击键,那么只要窗口在击键之间没有失去焦点,您就不会有任何问题。

如果窗口似乎不接受sendinput,您也可以尝试使用send而非send

在我的电脑上,我设置了 win + space ,将这行破折号作为一个字符串发送,并在几分之一秒内完成:-------------------------------------------------------------------

另一种选择是粘贴字符串而不是发送击键。只需使用send ^v粘贴变量的内容即可。这比使用send发送字符串要快得多,但您需要确保您的窗口能够接收粘贴命令。

我说这些是因为根本没有必要检查。你可以放心,密钥正在发送 - 这就是ahk应该做的,你知道。

您可能获得确认的唯一方法是,您是否正在发送编辑控件并可以取回您发送的文本。

无法确认菜单是否已收到击键。你必须测试它,直到它正常工作。

答案 1 :(得分:0)

您可能需要查看以下命令:
ControlSend / ControlClickControlGet / ControlGetText
前两个允许您直接在特定控件中设置文本/选项,后两个允许您读取当前在特定控件中设置的文本/选项。