我是 AHK 新手,但我可以将几个脚本编写成一个。这:`
!+LButton::
SendInput {MButton down}{RButton down}
Loop
{
Sleep, 10
GetKeyState, state, LButton, P
if state = U
break
}
SendInput {MButton up}{RButton up}
return
我不知道为什么,但是当我在 MacrorRecorder 或其他程序上调试该脚本时,它写道:
Keyboard : ShiftLeft : KeyDown
Keyboard : AltLeft : KeyDown
Mouse : 193 : 306 : LeftButtonDown : 0 : 0 : 0
Keyboard : ControlLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : ControlLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : AltLeft : KeyUp
Keyboard : ShiftLeft : KeyUp
Mouse : 193 : 306 : MiddleButtonDown : 0 : 0 : 0
Mouse : 193 : 306 : RightButtonDown : 0 : 0 : 0
Keyboard : ControlLeft : KeyDown
Keyboard : AltLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : ShiftLeft : KeyDown
Keyboard : ControlLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : AltLeft : KeyUp
Keyboard : ShiftLeft : KeyUp
Mouse : 236 : 336 : MiddleButtonUp : 0 : 0 : 0
Mouse : 236 : 336 : RightButtonUp : 0 : 0 : 0
Keyboard : AltLeft : KeyDown
Keyboard : AltLeft : KeyDown
DELAY : 38
Keyboard : AltLeft : KeyUp
Keyboard : ShiftLeft : KeyUp
CTRL从哪里出现的???哪里出错了?谢谢!
答案1
在鼠标按钮被“单击”之前,Control 键会被切换,但 AutoHotkey 不会像本文标题所暗示的那样替换组合键。我认为记录的击键没有任何问题,因为 Control 键从未被按下以执行任何操作,它只是被按下然后立即再次按下。如果您查看 AutoHotkey 而不是 MacroRecorder 中的脚本击键,您会发现 AutoHotkey 会忽略热键触发后生成的击键,因为它们是在内部生成的。您是否遇到了由于在脚本执行过程中切换 Control 键而导致的其他问题?
仅供参考,您还可以使用Up
热键,如下所示...
!+LButton::
SendInput {MButton down}{RButton down}
return
!+LButton Up::
SendInput {MButton up}{RButton up}
return