一开始,我是配合SetTimer,用下列指令,来背景对指定的视窗送出Enter
ControlSend, , {Enter}, ahk_id %id%
但发现,当SetTimer On的时候,也就是背景对指定视窗持续送出Enter,
则在其他视窗,使用到Ctrl、Alt、Shift等组合键,就会出现问题
后来换用
PostMessage, 0x100, 0x0D, 0, , ahk_id %id% ;0x100 WM_KEYDOWN 0x0D Enter
问题就获得解决了
但当把按键从Enter换成w、a、s、d(背景游戏角色移动用),使用指令:
PostMessage, 0x100, 0x53, 0, , ahk_id %id% ;0x100 WM_KEYDOWN 0x53 S
Sleep, 500
PostMessage, 0x101, 0x53, 0, , ahk_id %id% ;0x101 WM_WM_KEYUP 0x53 S
却发现角色大概每次就只会移动二次就停住,手动移一下又会再移动个二次,
但切换到输入讯息时,又发现,确实是一直有对指定视窗送出w、a、s、d
但将指令改用:
ControlSend, , {s down}, ahk_id %id%
Sleep, 500
ControlSend, , {s up}, ahk_id %_id%
就不会有移动二次就停住的问题,但却会有如前述影响组合键的问题
请问是否有不会影响到组合键,背景持续送出按键的方法?
如果说是游戏对于w、a、s、d有特殊处理的话,
又为何用ControlSend来背景控制角色移动就没有问题呢?
附注:AutoHotKey真是太好用了!!!