【发布时间】:2012-10-02 19:59:21
【问题描述】:
AutoHotkey 命令Hotkey 允许在运行时创建动态热键,但它的语法和文档似乎将其限制为内置或现有的标签/子例程,这使得它大大少了有用:
热键、键名 [、标签、选项]
有没有办法让它像普通的硬编码热键一样工作?例如:
#z::MsgBox foobar ; Typical, hard-coded hotkey pops up a message-box
Hotkey, z, MsgBox foobar ; Nope; complains about missing label “MsgBox foobar”
由于手册中的以下行,它看起来可能是可能的,但不清楚它是如何工作的:
标签 - 普通标签和热键/热字符串标签都可以使用。
【问题讨论】:
-
显然,我不明白。您能否详细说明您在寻找什么?
-
上面的例子正是我要找的;一种无需为每个动态创建的热键手动创建标记子例程的方法:
Hotkey, z, MsgBox foobar -
不可能完全按照您的描述进行。你能举一个你想做什么的现实例子吗?
-
@FakeRainBrigand,在引发此问题的脚本中,我有大约 200 个热键调用函数(具有可选参数),并传递不同的参数。我不能为每个标签/子程序创建单独的标签/子程序,即使我可以,我也不想因为它会增加添加或删除热键,而不仅仅是修改一行。我也许可以通过使用数组和
A_ThisHotkey使用当前脚本来解决这个问题,但即使这样可行,它并不能真正解决函数的动态热键问题(或什么动态标签是)。
标签: function dynamic hotkeys autohotkey subroutine