在 AutoHotKey 中无需递归发送密钥

在 AutoHotKey 中无需递归发送密钥

我想覆盖,F1但使用SHIFT+F1作为F1

好的,这是什么意思?我想F1用我的个人 AHK 命令覆盖

F1::Run C:\..\foo.exe

但有些应用程序需要默认F1键。是否可以这样做

+F1:: Send {F1} 

没有递归到我的第一个热键?
换句话说:发送一个键而不触发现有的 AHK 快捷键。

我希望我的要求是清楚的!:)

答案1

您可以使用#UseHook指令来实现这一点。

#UseHook, On

F1::    
    ; Your code...
    msgBox, Code!
return

+F1::Send, {F1}

默认情况下,使用键盘钩子的热键不能通过 Send 命令触发。

您可以在这里详细了解它的具体功能:http://ahkscript.org/docs/commands/_UseHook.htm

如果您只希望在某些键上实现此效果,则可以省略#UseHook,而只需在键前加上符号即可$

您可以在这里阅读有关美元前缀的更多信息:http://ahkscript.org/docs/Hotkeys.htm#prefixdollar

$F1::    
    ; Your code...
    msgBox, Code!
return

+F1::Send, {F1}

相关内容