Есть ли способ создать AHK, который щелкает левой кнопкой мыши, затем удерживает щелчок правой кнопкой мыши в течение 30 секунд и повторяет?

#autohotkey

#autohotkey

Вопрос:

Мне было любопытно, возможно ли создать скрипт AHK для щелчка левой кнопкой мыши один раз, затем удерживать щелчок правой кнопкой мыши в течение 30 секунд, а затем выполнить цикл, но переключиться на привязку. Вот что я пробовал:

 F1::
     {
     Click Left
     Sleep, 10
     }

     {
     Click Right
     Sleep, 10
     }
Loop
 

Ответ №1:

Это должно сработать, я также добавил такую функциональность, что она будет освобождать RMB при его выключении, чтобы правая кнопка мыши не зависала в нажатом состоянии.

 *F1::
toggle^=1
if(toggle){
    gosub, start
}else{
    SetTimer, release, Off
    gosub, release
}
return

start:
    if(toggle){
        Click
        Click, Right, Down
        SetTimer, release, -30000
    }
return


release:
    Click, Right, Up
    if(toggle){
        gosub, start
    }
return
 

Редактировать: добавлен модификатор подстановочных знаков

Правка 2: исправлена ошибочная логика / ошибка в скрипте

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

1. @InfaRed В настоящее время просто нажимаю кнопку F1, не удерживая клавиши-модификаторы (например, Cntrl, Alt и т. Д.). Если вам нужно, чтобы он работал с удерживаемыми модификаторами, просто дайте мне знать, и я смогу отредактировать сценарий.

2. да, пожалуйста, я не совсем понимаю, как это работает, и вы мне очень помогли. кстати, он переключается, как если бы я снова нажал F1, он выключается?

3. Я обнаружил ошибку в скрипте, из-за которой программа работала неправильно, поэтому я исправил это @InfaRed. Если это не работало, когда вы пробовали это раньше, оно должно работать сейчас. Чтобы ответить на ваш вопрос, скрипт переключается между «Включенным» и «выключенным» состояниями, когда вы нажимаете клавишу F1 на клавиатуре.