大家晚上好,请教大家一个问题,我有一个autohotkey脚本,按键命令是调用第三方的DLL按键,我想实现这样的功能
按住alt+q发送第三方DLL的z按键,只要alt不松开,按alt+q持续按出z键
然后松开alt就弹起alt键,我目前的思路是这样:
~alt up::
DllCall(DD_key_up, "UChar", 0x12, "UChar", 0x1) ; 弹起Alt
return
Hotkey, !z, MyLabel
return
MyLabel:
DllCall(DD_key_press, "UChar", 0x5A, "UChar", 0x1) ; z键
return
问题出来了,因为按住了alt,导致alt+q->z失败,实际按键变成了alt+z了(在记事本上显示不出z字符),所以我修改代码在内部弹起alt
~alt up::
DllCall(DD_key_up, "UChar", 0x12, "UChar", 0x1) ; 弹起了Alt
return
Hotkey, !z, MyLabel
return
MyLabel:
DllCall(DD_key_up, "UChar", 0x12, "UChar", 0x1) ; 弹起了Alt,只要弹起了才能看到z键被输出,待会还要继续按住alt
DllCall(DD_key_press, "UChar", 0x5A, "UChar", 0x1) ; z键
DllCall(DD_key_down, "UChar", 0x12, "UChar", 0x1) ;按住alt
return
这样的逻辑太乱了,结果导致的问题是,有时候能弹起alt,有时候alt变成一直按下
不知道大伙有好的解决办法吗?谢谢大家,祝大伙新年快乐!(问题困扰了2天)

|