Что нового

Зажать ПКМ при нажатии

trust

Новичок
Сообщения
1
Репутация
0
Здравствуйте, нужен скрипт, который при нажатии ПКМ зажимал бы её, пока я снова не нажму ПКМ.
Нашел похожую тему
, в которой в конце скинули в принципе подходящий скрипт, где при нажатии ПКМ зажимается клавиша на клавиатуре, скрипт работает, но нагружает процессор на ~50%, если кто-то сможет написать или исправить ошибку, которая грузит процессор в имеющемся, буду очень благодарен.

Код:
#include <Misc.au3>

$status = 0
Local $hDLL = DllOpen("user32.dll")

Func status ()                                                                                             ;Функция счетчика нажатий на правую кнопку мыши
    if _IsPressed("02",$hDLL) = true then                                                                 ;Если правая кнопка нажата
        $status = $status-1                                                                             ;Присваиваем значение статусу (-1)
        do                                                                                                 ;Цыкл ожидания отжатия правой кнопки мыши - определяет завершение клика
            _IsPressed("02",$hDLL)
        until _IsPressed("02",$hDLL) = false
        $status = $status+2                                                                                ;Присваиваем значение переменной статуса (Результат будет менятся от кликак к клику в диапазоне от 1 до 2)
        If $status = 3 Then                                                                             ;Возвращаем к исходному значениею чтобы счетчик не выходил за пределы двух значений
        $status = 1
        EndIf
        EndIf
        EndFunc


while 1
    status ()
if $status = 1 Then
    ;ConsoleWrite("_IsPressed - Click_1." & @CRLF) ;Для отладки
    Send("{n down}")
    Do                                                                                                    ;Ждем пока произойдет следущее нажатие правой кнопки мыши в пределах одного цикла.
        status ()
        until $status = 2
ElseIf $status = 2 Then
    ;ConsoleWrite("_IsPressed - Click_2." & @CRLF) ;Для отладки
    Send("{n up}")
    Do                                                                                                     ;Ждем пока произойдет следущее нажатие правой кнопки мыши в пределах одного цикла.
        status ()
        until $status = 1
EndIf

sleep(30)
WEnd
DllClose($hDLL)
 
Последнее редактирование:

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
в циклах
Код:
Do
Until

поставьте
Код:
Sleep(10)
 
Верх