在同一个脚本中使用双冒号 :: 和热键命令会破坏一个
Using Double Colon :: and the Hotkey command in the same script breaks one
我在脚本中发生了最奇怪的行为。在下面的 MWE 中,只要 F1
行存在,Hotkey F2
声明就不起作用。如果我注释掉第 2 行,那么 F2
热键就可以正常工作。
#SingleInstance, Force
F1::MsgBox You pressed F1
Hotkey F2, Alone
return
Alone:
MsgBox You pressed F2.
return
双冒号和 "Hotkey" 命令之间是否存在交互作用?有没有解决的办法?
当然,这是一个更大的脚本的一部分,其中定义了几个不同的热键。双冒号用于代码中的大多数热键,但我认为我必须对动态键使用 Hotkey 命令(比如通过 ini 文件定义的)。此代码是带有静态热键(使用双冒号表示法)的更大代码集的一部分,我无法更改该部分代码。
我是 运行 Autohotkey v1.1.25.02 Windows Enterprise 1909(OS Build 18363.720)
注意:我注意到,如果我将双冒号声明放在 Hotkey
命令之后(即重新排序的第 2 行和第 3 行),它似乎可以工作。我不知道这是否是一个选项。原始脚本中有数百行代码。我仍然想知道导致该行为的原因。
您正在创建单行热键 F1
。
代码执行不会继续到下面的行。
这是您要查找的语法:
#SingleInstance, Force
F1::
MsgBox, You pressed F1
Hotkey, F2, Alone
return
Alone:
MsgBox, You pressed F2.
return
我在脚本中发生了最奇怪的行为。在下面的 MWE 中,只要 F1
行存在,Hotkey F2
声明就不起作用。如果我注释掉第 2 行,那么 F2
热键就可以正常工作。
#SingleInstance, Force
F1::MsgBox You pressed F1
Hotkey F2, Alone
return
Alone:
MsgBox You pressed F2.
return
双冒号和 "Hotkey" 命令之间是否存在交互作用?有没有解决的办法?
当然,这是一个更大的脚本的一部分,其中定义了几个不同的热键。双冒号用于代码中的大多数热键,但我认为我必须对动态键使用 Hotkey 命令(比如通过 ini 文件定义的)。此代码是带有静态热键(使用双冒号表示法)的更大代码集的一部分,我无法更改该部分代码。
我是 运行 Autohotkey v1.1.25.02 Windows Enterprise 1909(OS Build 18363.720)
注意:我注意到,如果我将双冒号声明放在 Hotkey
命令之后(即重新排序的第 2 行和第 3 行),它似乎可以工作。我不知道这是否是一个选项。原始脚本中有数百行代码。我仍然想知道导致该行为的原因。
您正在创建单行热键 F1
。
代码执行不会继续到下面的行。
这是您要查找的语法:
#SingleInstance, Force
F1::
MsgBox, You pressed F1
Hotkey, F2, Alone
return
Alone:
MsgBox, You pressed F2.
return