AutoHotKey检测数字键按
问题描述:
我想要一个脚本,检查用户何时按0至9之间的alt +数字。 该脚本应该将按下的数字保存在变量中。我知道你可以使用类似:(伪代码)AutoHotKey检测数字键按
!1:: var = 1
!2:: var = 2
!3:: var = 3
...
但我要如何检查ALT +数按键?如何将数字键按入变量?
注:我想是这样的:
!number:: var = number
只是要清楚,代码我写的优秀作品,但我想知道,如果它可以被压制成一行代码。
答
这似乎是工作
停止正在运行的脚本,一键F12
Loop, 10
HotKey, % "~*" A_Index - 1, KeyDetect
return
KeyDetect:
If (A_ThisHotkey = "")
Return
mods := "Alt"
prefix := ""
Loop, Parse, mods, |
if GetKeyState(A_LoopField)
prefix .= A_LoopField " + "
if (!prefix && !ShowSingleKey)
return
key := SubStr(A_ThisHotkey, 3)
if (key = " ")
key := "Space"
MsgBox, % prefix key ; Test Message (Result)
return
F12::ExitApp, 0
+0
这确实按照预期工作。虽然它更复杂,方式更长。尽管如此,谢谢你的帮助。我想没有一行或两行代码来完成这项工作。然而,这是正确的,我正在寻找的。 – user2173361
这正是你的代码已经在这样做。我不确定你在问什么。 – 2501
我知道我的代码运行良好,但我想知道是否可以像我在第二个示例 – user2173361
中显示的那样压缩它,我认为你可以。查看Hotkey命令的文档。 – 2501