Я попытался написать код что бы при возникновении определенного цвета на экране нажималась непрерывно левая кнопка мыши поле того как цвет пропадал она больше не нажималась и так по кругу.Я думал это будет легко но нет. Координаты и цвет я нашел Но после запуска программы нечего не выходит.Подскажите пожалуйста
Вот код:
F12:: Suspend,Toggle
Numpad1::
loop
{
PixelGetColor, color, 752, 943
var1 = %color%
if(var1 = 0x5c005a)
{
Send {LButton}
Random, rand, 60, 100
sleep rand
}
}
Другие языки программирования и технологии
Эксперты по ахк, помогите, пожалуйста
Проблема в вашем коде заключается в том, что вы используете оператор if для проверки цвета пикселя, но не используете оператор else для остановки нажатия левой кнопки мыши, когда цвет пикселя больше не соответствует заданному цвету.
Вот исправленный код, который должен работать:
F12::Suspend,Toggle
Numpad1::
loop
{
PixelGetColor, color, 752, 943
var1 = %color%
if(var1 = 0x5c005a)
{
Send {LButton down}
Random, rand, 60, 100
sleep rand
}
else
{
Send {LButton up}
}
}
В этом коде мы добавили оператор else, который отправляет команду {LButton up} для остановки нажатия левой кнопки мыши, когда цвет пикселя больше не соответствует заданному цвету. Также мы добавили команду {LButton down}, чтобы нажать левую кнопку мыши, когда цвет пикселя соответствует заданному цвету.
Обратите внимание, что в этом коде мы используем команду {LButton down} для нажатия левой кнопки мыши и команду {LButton up} для ее отпускания. Это необходимо для того, чтобы избежать нежелательного поведения, когда левая кнопка мыши остается нажатой, когда цвет пикселя больше не соответствует заданному цвету.
Вот исправленный код, который должен работать:
F12::Suspend,Toggle
Numpad1::
loop
{
PixelGetColor, color, 752, 943
var1 = %color%
if(var1 = 0x5c005a)
{
Send {LButton down}
Random, rand, 60, 100
sleep rand
}
else
{
Send {LButton up}
}
}
В этом коде мы добавили оператор else, который отправляет команду {LButton up} для остановки нажатия левой кнопки мыши, когда цвет пикселя больше не соответствует заданному цвету. Также мы добавили команду {LButton down}, чтобы нажать левую кнопку мыши, когда цвет пикселя соответствует заданному цвету.
Обратите внимание, что в этом коде мы используем команду {LButton down} для нажатия левой кнопки мыши и команду {LButton up} для ее отпускания. Это необходимо для того, чтобы избежать нежелательного поведения, когда левая кнопка мыши остается нажатой, когда цвет пикселя больше не соответствует заданному цвету.
Александр ***
Спасибо за ответ,но все равно не помогло он просто не хочет кликать левую кнопку мыши.
на чём ты ищешь цвет он криво работает в играх в браузере еще возможно норм и т.д
Проблема в том, что в вашем скрипте отсутствует команда для выхода из цикла, поэтому скрипт никогда не завершится. В результате этого, он может занять слишком много ресурсов компьютера и повлиять на его производительность.
Добавьте команду для выхода из цикла, к примеру, команду "break", когда цвет не соответствует заданному условию. Вот исправленный код:
F12:: Suspend,Toggle Numpad1:: loop { PixelGetColor, color, 752, 943 var1 = %color% if(var1 = 0x5c005a) { Send {LButton} Random, rand, 60, 100 sleep rand } else { break ; добавленная команда для выхода из цикла } } return ; команда для завершения работы скрипта
Также обратите внимание, что в вашем коде нажатие левой кнопки мыши будет происходить через каждые 60-100 миллисекунд в течение всего периода работы скрипта. Это может быть нежелательно, поскольку большое количество нажатий на левую кнопку мыши может быть воспринято компьютером как спам или вредоносную активность. Если вам нужно сократить период нажатий, то попробуйте увеличить диапазон значений, генерируемых переменной "rand".
Добавьте команду для выхода из цикла, к примеру, команду "break", когда цвет не соответствует заданному условию. Вот исправленный код:
F12:: Suspend,Toggle Numpad1:: loop { PixelGetColor, color, 752, 943 var1 = %color% if(var1 = 0x5c005a) { Send {LButton} Random, rand, 60, 100 sleep rand } else { break ; добавленная команда для выхода из цикла } } return ; команда для завершения работы скрипта
Также обратите внимание, что в вашем коде нажатие левой кнопки мыши будет происходить через каждые 60-100 миллисекунд в течение всего периода работы скрипта. Это может быть нежелательно, поскольку большое количество нажатий на левую кнопку мыши может быть воспринято компьютером как спам или вредоносную активность. Если вам нужно сократить период нажатий, то попробуйте увеличить диапазон значений, генерируемых переменной "rand".
Александр ***
Всё равно нечего не происходит.
Похожие вопросы
- Эксперты по ахк, помогите, пожалуйста
- Помогите пожалуйста разобраться с вопросами по информатике и программированию
- Помогите Пожалуйста....не могу настроить сеть между 2-я компютерами... очень прошу кто шарит загляньте...
- Эксперты по С++. Помогите изменить код.
- Помогите пожалуйста!!!
- Помогите пожалуйста избавиться от "синего экрана смерти"! кто поможет, тому +10 баллов гарантирую!
- добрый вечер!помогите пожалуйста решить задание
- Вопрос по delphi, помогите пожалуйста.
- Помогите пожалуйста найти ошибку, с++
- народ помогите пожалуйста) надо сделать прогу на pascal)