|
4 / 4 / 0
Регистрация: 19.08.2013
Сообщений: 138
|
|||||||||||
Пауза в автокликере16.05.2018, 19:50. Показов 1522. Ответов 6
Метки нет (Все метки)
Здравствуйте! Написал автокликер, который бы не палился, то есть имитировал реальные действия мышью. Вдруг кому-нибудь пригодится. Писал под конкретную задачу, поэтому не предусмотрел всего. Как им пользоваться:
1) делаем принтскрин в той ситуации, в которой собираемся использовать автокликер 2) запускаем DiceBotDeveloping (DiceBotDeveloping.7z), прописываем путь к сделанному принстскрину 3) жмем ОК, программа разворачивается на весь экран и показывает указанный принстскрин 4) теперь нажимаем S и начинается запись. Программа умеет записывать только движения и клики левой кнопки, но вы можете легко добавить нужный функционал 5) еще раз нажимаем S. Запись прерывается и сохраняется в "D:\MouseLog.Json" Всю эту катавасию с принтскрином я затеял что бы не связываться с глобальными хуками: гораздо проще перехватить действия мыши на своей форме. 6) придумываем, как можно обрабатывать эту запись. Ведь если мы будем каждый раз запускать одинаковую последовательность мышиных действий, это будет мало похоже на работу реального пользователя. 7) что бы воспроизвести эту запись, запускаем DiceBot (DiceBot.7z) Использовал информацию отсюда: "Имитация нажатия мыши" и отсюда: "Координаты курсора мыши". Если у вас не собираются проекты, посмотрите, должен быть установлен .NET 4.7. Теперь вопрос: Как происходит запись: при каждом вызове событий мыши (MouseMove, MouseDown, MouseUp) программа добавляет запись в List, включая в нее количество миллисекунд, прошедшее с момента предыдущего вызова события. Воспроизведение же этого события происходит следующим образом:
Но попробуем запустить код:
0
|
|||||||||||
| 16.05.2018, 19:50 | |
|
Ответы с готовыми решениями:
6
Пауза на 7 секунд или пауза до нажатия клавиши Пауза Пауза |
|
4 / 4 / 0
Регистрация: 19.08.2013
Сообщений: 138
|
|
| 16.05.2018, 19:58 [ТС] | |
|
UPD здесь оказался неправильный вариант программы. Правильный вот: DiceBotDeveloping.7z.
0
|
|
|
0 / 0 / 0
Регистрация: 27.01.2017
Сообщений: 12
|
|
| 18.05.2018, 09:54 | |
|
Цикл тоже кушает процессорное время, отсюда и неточность...
0
|
|
|
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
|
|
| 20.05.2018, 03:00 | |
|
Task.Delay(TimeSpan.FromTicks(100)).Wait (); лучше используй.
1
|
|
|
Администратор
|
||||||
| 20.05.2018, 14:38 | ||||||
|
Defences, тогда уж лучше
0
|
||||||
|
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
|
||||||||||||||||
| 27.06.2019, 15:12 | ||||||||||||||||
|
OwenGlendower, не лучше, если мы кроме паузы нигде в методе не используем await и метод void, так как это даст выход из метода, создание потока, в итоге запутанность и тонны времени на поиск причин ошибки.
P.s еще соль добавляет то что мы не можем применить await или .Wait(); к void методу Вот пример 1)Просто Task.Delay.Wait(); выход: A bb
выход: bb A
0
|
||||||||||||||||
|
Администратор
|
||||||
| 27.06.2019, 22:45 | ||||||
|
Defences, если в коде не используется async/await, то и не надо использовать в нем "чужие" примитивы. Обычный Thread.Sleep() лучше подойдет.
Пример неудачный получился. Проблема возникает из-за неверного применения асинхронности. Вместо async void следует использовать async Task, что позволить использовать как await так и .Wait(). Метод Main начиная с C# 7.1 тоже можно объявлять как async. В итоге это исправляет ошибку
0
|
||||||
| 27.06.2019, 22:45 | |
|
Помогаю со студенческими работами здесь
7
Пауза Пауза Пауза в коде Пауза в потоке Пауза в милисекундах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|