我从这里获得了这个功能:
https://www.reddit.com/r/AutoHotkey/comments/1arcp8q/comment/kr1km61/?context=3
它等待按下一个或多个键,但它不接受扫描码(SC)或虚拟键码(VK)。
我希望此功能也能与扫描码(SC)或虚拟键码(VK)一起使用,如下所示:
if keys_wait_multi("abc{SC28}{VK10}{F12}") {
MsgBox("you pressed one of the keys")
}
Keys_Wait_Multi(keys, options := "") {
key_pressed := false
ih := InputHook(options)
ih.KeyOpt("{All}", "VE")
ih.KeyOpt(keys, "-E")
ih.KeyOpt(keys, "NS")
ih.MinSendLevel := 1
ih.OnKeyDown := (ih, *) => ih.Stop()
ih.Start() ; start input hook
ih.Wait() ; wait for input hook to end
if_success := (ih.EndReason = "Stopped" ? true : false)
return if_success
}
请问有什么帮助吗?
答案1
这应该有效:
#Requires AutoHotkey v2.0
if keys_wait_multi("abc{SC10B}{VKB2}{F12}") {
MsgBox("you pressed one of the keys")
}
Keys_Wait_Multi(keys, options := "") {
key_pressed := false
ih := InputHook(options)
ih.KeyOpt("{All}", "V")
ih.KeyOpt(keys, "-E")
ih.KeyOpt(keys, "NS")
ih.MinSendLevel := 1
ih.OnKeyDown := (ih, *) => ih.Stop()
ih.Start() ; start input hook
ih.Wait() ; wait for input hook to end
if_success := (ih.EndReason = "Stopped" ? true : false)
return if_success
}
SC10B
是特殊键,也是VKB2
我键盘上的 media_stop 键。请用您自己的键代码替换它们。