Я новичок в 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 ответ1

0

Управление переключается до того, как кнопки мыши «нажаты», но AutoHotkey не заменяет комбинацию клавиш, как подразумевается в заголовке этого поста. Я не вижу ничего плохого в записанных нажатиях клавиш, потому что клавиша Control никогда не выключается для каких-либо действий, она просто переключается вниз, а затем снова снова поднимается. Если вы посмотрите на нажатия клавиш скрипта в AutoHotkey вместо MacroRecorder, вы увидите, что нажатия клавиш, сгенерированные после триггера горячей клавиши, игнорируются AutoHotkey, потому что они генерируются внутри. Испытываете ли вы какую-то другую проблему в результате переключения управляющего ключа в середине выполнения скрипта?

Кстати, вы также можете использовать горячую клавишу Up как показано ниже ...

!+LButton::
    SendInput {MButton down}{RButton down}  
return

!+LButton Up::
    SendInput {MButton up}{RButton up} 
return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .