Что нового

Мышь, клавиатура loop while команды

vlad123

Новичок
Сообщения
1
Репутация
0
здраствуйте, помогите пожалуста, нужен скрипт чтобы при ЗАЖАТИИ боковых кнопок мышки бесконечно нажимались разные клавиши, до тех пор пока не отпустишь клавишу мышки.
знаю как сделать это в автохоткей, но она не работает в других программах, а в этой программе не понимаю, интернет поиск не помог.
наподобии
~f12:: suspend, toggle
~XButton2::
while getkeystate("XButton2","p")=1
{
send 1
sleep 50
send 2
sleep 50
}
return
 

Torotin

Новичок
Сообщения
11
Репутация
2
Не смог на просторах тырнета найти наименование боковых кнопок мыши - поищите.
Либо в крайне случае через какой-нибудь кейлоггер пропарсите.

Но реализация того, что вам нужно примерно следующая:

Код:
Global $running = False

HotKeySet("{1}", "ToggleRunning") ; Устанавливаем необходимую горячую клавишу (в примере используется "1" на клавиатуре)
HotKeySet("{ESC}", "Terminate") ; Устанавливаем клавишу ESC для завершения скрипта

Func ToggleRunning()
    $running = Not $running ; Переключаем состояние флага
    If $running Then
        StartSending()
    EndIf
EndFunc

Func StartSending()
    While $running
        Send("1")
        Sleep(50)
        Send("2")
        Sleep(50)
    WEnd
EndFunc

Func Terminate()
    Exit 0 ; Завершаем выполнение скрипта
EndFunc

; Бесконечный цикл для поддержания работы скрипта
While True
    StartSending()
    Sleep(10)
WEnd


Объяснение работы скрипта​

  1. Глобальная переменная $running:
    • Используется для хранения состояния флага, указывающего на то, должны ли клавиши отправляться.
  2. HotKeySet("{1}", "ToggleRunning") :
    • Устанавливает кнопку в качестве горячей клавиши для вызова функции ToggleRunning.
  3. HotKeySet("{ESC}", "Terminate"):
    • Устанавливает клавишу ESC для завершения скрипта.
  4. Функция ToggleRunning:
    • Переключает состояние флага $running.
    • Если флаг установлен в True, вызывается функция StartSending.
  5. Функция StartSending:
    • В бесконечном цикле отправляет нажатия клавиш '1' и '2', пока флаг $running равен True.
  6. Функция Terminate:
    • Завершает выполнение скрипта при нажатии клавиши ESC.
  7. Бесконечный цикл While True:
    • Поддерживает работу скрипта, чтобы он не завершался до тех пор, пока не будет нажата клавиша ESC.
 
Последнее редактирование:
Верх