Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: hunter on October 18, 2017, 02:26:44 AM
-
Доброго суток всем.
Столкнулся с вопросом: как выполнить действие после движения мыши? То есть как подставить в условие IF что мышь изменила координаты? Заранее спасибо!
-
$sav_x = $_xmouse // Сохраняем координату
$sav_y = $_ymouse
WHILE(($sav_x = $_xmouse)&($sav_y = $_ymouse)) // Цикл сдерживает выполнение пока мышь не изменит координату
WAITMS(30)
END_CYC
// Далее действие
-
Почему не AND ?
-
Ну от края до края вряд ли доведёт, но сдвинет на 3 пиксела и будет недоумевать.
-
Да конечно там нужно И. Исправил.
-
Спасибо за ответ. Простите но я видимо не правильно выразился и дал не совсем точные вводные. Несомненно, решение предоставленное Вами работает, но необходимо отследить именно движение мыши а не положение курсора. В приложении курсор отсутствует. И необходимо именно через IF, ибо логика такова - скрипт выполняется и если происходит движение мыши, то происходит остановка определенных действий и т.д.
-
Подозреваю что здесь нужно использовать поток который параллельно основному выполнению будет отслеживать текущую координату курсора. Ну а остальное, все зависит от конкретного скрипта, ведь его можно написать очень по разному.
-
Вот пример, основной поток пишет в лог текст раз в 5 секунд. А дополнительный параллельный поток "watch" следит за курсором каждые 30 миллисекунд проверяя его положение, и как только ты двинешь мышкой запищит системный динамик.
LOGWRITE ("Выполняю скрипт")
WAIT(5)
THREAD(watch, 1)
$sav_x = $_xmouse
$sav_y = $_ymouse
WHILE(($sav_x = $_xmouse)&($sav_y = $_ymouse))
WAITMS(30)
END_CYC
BEEP(800,200)
END_THREAD