AutoHotKey 发送动态键

AutoHotKey 发送动态键

我正在尝试创建一个带有用户可配置热键的脚本

我可以绑定到动态热键,但似乎无法发送热键。

这是一个说明问题的简单脚本

#Persistent
#SingleInstance, Force
btn1 := "F1"
btn5 := "F5"
Hotkey, %btn1% Up, stop1
Hotkey, %btn5% Up, stop5

stop1() {
  MsgBox f1 was released, sending f1 dynamically
  Send {%btn1%}
}

stop5() {
  MsgBox f5 was released, sending f1 statically
  Send {F1}
}

如果我按 F1,它会触发start1,并尝试动态发送 F1,因为它是在脚本的标题中设置的。什么也没发生。

如果我按 F5,它会触发start5,并静态发送 F1。如果您的焦点程序使用该绑定,则会执行该命令。

在我的实际脚本中,我需要Send {%btn1% up}能够Send {%btn1% down}

答案1

您的脚本的这个版本对我有用:

#Persistent
btn1 := "F1"
btn5 := "F5"
Hotkey, %btn1% up, stop1
Hotkey, %btn5% up, stop5
return

stop1:
  MsgBox f1 was released, sending f1 dynamically
  Send {%btn5%}
  return

stop5:
  MsgBox f5 was released, sending f1 statically
  Send {F1}
  return

您主要缺少的是return命令。

相关内容