Щелчок по спаму, когда кнопка мыши нажата AutoHotkey

#autohotkey

#автоотключение

Вопрос:

Я пытаюсь создать скрипт AutoHotkey, который будет спамить левую кнопку мыши всякий раз, когда я удерживаю ее нажатой, но когда я отпускаю ее, она перестает спамить левую кнопку мыши. Я запустил, но он работает не так, как я хочу. Я просто получаю два щелчка, а затем он останавливается, даже когда я продолжаю удерживать нажатой кнопку мыши. Вот мой код:

 while (true) {
    GetKeyState, OutVar, LButton
    while (OutVar = "D") {
        Send {lbutton}
        GetKeyState, OutVar, LButton
    }
}
  

И это то, что я использую для тестирования щелчков мыши.

Комментарии:

1. К вашему сведению, поиск в Google по названию вашего сообщения «Щелчок по спаму, когда кнопка мыши нажата AutoHotkey», выдает несколько элементов, которые могли бы решить ваши проблемы. Просто говорю.

Ответ №1:

Использование Send для изменения состояния кнопки мешает GetKeyState . Вы можете решить эту проблему, используя P режим in GetKeyState , который извлекает физическое (реальное) состояние ключа.

 #InstallMouseHook
Loop {
    BtnIsDown := GetKeyState("LButton", "P")
    While (BtnIsDown) {
        Send {LButton}
        BtnIsDown := GetKeyState("LButton", "P")
    }
}
  

В качестве альтернативы, если вам не нужно отправлять событие button up, вы можете просто использовать это:

 Loop {
    BtnIsDown := GetKeyState("LButton")
    While (BtnIsDown) {
        Send {LButton Down}
        BtnIsDown := GetKeyState("LButton")
    }
}
  

Ответ №2:

Просто,

 Loop {
    if GetKeyState("LButton")
        Send {LButton Down}
    else
        Break
}
return