热键无法按预期工作

Hotkey doesn't work as expected

我不明白为什么我示例中的脚本没有按预期运行。

打开任何文本编辑器,select 一些文本,按 Ctrl-C 将其复制到剪贴板。然后,启动脚本。

预期行为: 如果我按 Ctrl-V,应该会显示消息框 ok。如果我按 Ctrl-Shift-V,它应该显示相同的消息框。 (应该没有区别)。

实际行为: 如果我按 Ctrl-Shift-V,会显示 error 消息框。为什么?

^v::MsgBox, ok
return

^+v::MsgBox, error
return

^+v::^v
return

您不能重新定义热键;您不能多次定义它们。在定义 HotKeys 和 HotStrings 时,autohotkey 更像是一种声明性语言,而不是过程性语言。

如果要更改组合键的行为,请将逻辑放入脚本中。例如:

; Press F2 to change the behavior of ^+v
f2::
  condition := !condition
  return

^+v::
  if (condition)
    MsgBox, ok
  else
    MsgBox, error
  return