AHK,如何在脚本中使用+

问题描述

在 AutoHotKey 中,很少有键表示其他意思,例如 + 表示 shift 我想编写类似这样的脚本,但要按“+”

$*b::
  While GetKeyState("b","P")
  {
    Send,{Blind}b
    Sleep,10 ; every 10 miliseconds
  }
Return

解决方法

您可以按照文档 here 中的步骤创建带有任何按钮的热键。 StackOverflow 不喜欢链接,所以这里是它的背后:

  1. 确保至少有一个使用键盘挂钩的脚本正在运行。您可以通过打开其主窗口并从菜单栏中选择“查看-> 按键历史记录”来判断脚本是否具有键盘钩子。
  2. 双击该脚本的托盘图标以打开其主窗口。
  3. 按下键盘上的“神秘键”之一。
  4. 选择菜单项“查看->密钥历史”
  5. 向下滚动到页面底部。靠近底部的地方是您的按键的按键按下和按键按下事件。注意:某些键不会生成事件,因此在此处不可见。如果是这种情况,您不能直接将该特定键设为热键,因为您的键盘驱动程序或硬件处理它的级别太低,AutoHotkey 无法访问。有关可能的解决方案,请参见下文。
  6. 如果可以检测到您的密钥,请记下列表第二列中的 3 位十六进制值(例如 159)。
  7. 要将此键定义为热键,请按照以下示例操作:
SC159:: ; Replace 159 with your key's value.
MsgBox,%A_ThisHotkey% was pressed.
return