我有一个新的键盘,它有一个分割空格键,左拇指上的退格键,右拇指上的空格。在使用此键盘之前,我使用快捷键 Ctrl + Alt + Space 打开Launchy。 使用这个新键盘,我还希望能够使用 Ctrl + Alt + Backspace 。
我将以下映射添加到AutoHotKey
^!BS::
MsgBox Working
SendInput ^!{Space}
return
如果我打开某些窗口(比如Notpad),按 Ctrl + Alt + Backspace 会显示消息框,然后启动程序符合预期(Launchy绑定到 Ctrl + Alt + Space 由它自己的选项UI东西控制)。但是,某些窗口(例如Powershell)似乎吞下了SendInput部分,因此我将看到消息框,但Launchy将无法打开。
如何让AutoHotKey将其命令发送到常规消息队列而不是活动窗口。
注意:我已经尝试过使用各种不同的组合,但它似乎不起作用。
编辑:感谢MCL建议使用WinActivate,这使我朝着正确的方向前进。以下详细信息
解决方案:
^!BS::
DetectHiddenWindows, on
WinActivate, Launchy
SendInput ^!{Space}
return
出于某种原因,某些应用程序吞下了AHK生成的键盘快捷键。因此Launchy从未接收过它们并且没有发布。但是,DetectHiddenWindows和WinActivate后跟常规键盘快捷键似乎有效。
答案 0 :(得分:0)
使用本机AHK代码激活窗口通常是更好的选择,而不是在某处发送密钥。 WinActivate
会做你想做的事。但是,您必须为窗口选择合适的标识符。用Window Spy检查窗口;通常,窗口类(ahk_class
)是一个不错的选择。如果您的应用程序只有一个窗口,AHK_L的ahk_exe
也将是一个不错的选择。
您的代码可能如下所示:
!BS::WinActivate, ahk_exe launchy.exe