我的问题 :
^space & c::
send {F2}
send {Escape}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我如何模仿Ctrl+ Space+ AlphabeticaklKey?
正如我之前的发言者所说,这不容易做到.这是我的建议,似乎工作正常:
^space::
Loop {
if(GetKeyState("c")) {
break
}
if(!GetKeyState("CTRL") || !GetKeyState("SPACE")) {
return
}
Sleep, 50
}
msgbox, You have pressed CTRL+SPACE+C
return
Run Code Online (Sandbox Code Playgroud)
代码非常明显.当按下CTRL+时SPACE,它会等待,直到释放或C按下其中任何一个.后者触发实际功能,否则将返回.
我实际上并不喜欢它,因为理论上它在某些情况下可能会失败(例如,在执行到达检查状态之前按下并释放CTRL+ SPACE+ ;虽然这似乎不太可能).CC
还有一种方法可以使用#If.我建议使用它,因为它更复杂和可靠.这是因为它不需要任何循环:
#If GetKeyState("SPACE")
^c::Msgbox, You have pressed CTRL+SPACE+C
#If GetKeyState("c")
^space::Msgbox, You have pressed CTRL+SPACE+C
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1587 次 |
| 最近记录: |