Войти
Войти
 

Регистрация

Уже есть аккаунт?
Полная версия Пикабу
Любые посты за всё время, сначала свежие, с любым рейтингом

поиск...

Автоматизация рутины с AutoHotKey. Часть 2: Распознавание экрана.

в

Небольшое продолжение к предыдущему посту

https://m.pikabu.ru/story/avtomatizatsiya_rutinyi_s_autohotk...

За прошедший год мое владение скриптами немного улучшилось, в частности, теперь я могу научить скрипт распознавать изображение на экране, искать всякие кнопки, рисунки и т.д.


Давайте попробуем какую-нибудь незатейливую программу, например игрушку сапер.

Научим скрипт реагировать на нашу смерть.

Автоматизация рутины с AutoHotKey. Часть 2: Распознавание экрана. Автоматизация, AutoHotKey, Длиннопост

Делаем скриншот, открываем Пэйнт, и выделяем небольшой кусочек желтой рожицы.

Автоматизация рутины с AutoHotKey. Часть 2: Распознавание экрана. Автоматизация, AutoHotKey, Длиннопост
Показать полностью 4
  •  
  • 655
  •  

Автоматизация рутины с AutoHotKey

в

Здравствуйте! Сегодня я хочу познакомить вас с замечательным инструментом автоматизации под названием AutoHotKey!

С ним вы сможете:

1) Программировать действия мышкой, нажатия клавиш;

2) Быстро заполнять однотипные бланки, формы;

3) Ставить на горячие клавиши заклинания, кастовать их в течение миллисекунд после перезарядки (что бывает критично);

4) Автоматизировать какие-либо рутинные действия и идти пить кофе.


Сразу предупрежу - писать скрипты поначалу очень капризное занятие. Будут такие ситуации, что код почему-то не работает, и вам придется думать полдня где вы совершили ошибку. Листать документацию. Просить помощи в интернете. Проверять синтаксис.

Однако вложенное время окупается с лихвой. При достаточном освоении AutoHotKey сэкономит вам кучу времени и нервов.


В данном посте я дам лишь описание конкретных примеров применения скриптинга на практике и расскажу про те подводные камни, которые не описаны в документации.


Итак, начнем. Ссылка на программу:

https://autohotkey.com/download/ahk-install.exe (3 Мб)


Написание кода ведется в файлах *.ahk, которые редактируются обычным блокнотом.

Создайте текстовый файл и измените его расширение.

Автоматизация рутины с AutoHotKey AutoHotKey, Автоматизация, Программирование, Офисные будни, Образование, Длиннопост
Показать полностью 5
  •  
  • 1249
  •  

Как гарантийно и без труда победить в конкурсе комментариев

В одном из пабликов ВК был конкурс репостов: Комментарий, продержавшийся 30 минут последним, побеждает. Призом в конкурсе был сладкий приз из местной кофейни.

Когда начался конкурс, я немного подумал и придумал, как можно автоматизировать мою победу в конкурсе.

Я использовал свой давно и горячолюбимый AutoHotkey script. Да, я знаю, что есть десяток более удобных и простых способов автоматизации, но уж сделал что сделал.

Для начала я написал бесконечный цикл, который раз в 25 минут сделает 10-секундное звуковое предупреждение, а затем откроет браузер с ссылкой на пост, определит, открылась ли страница, напишет туда "Хочу победить!" и закроет вкладку, после чего развернёт ранее открытое окно.

Как гарантийно и без труда победить в конкурсе комментариев AHK, Autohotkey, Лайфхак, Программирование, Скриптование, Конкурс, Длиннопост, Бот

Далее построчно:

1-5 стандартные настройки скрипта

6-7 установил определение координат (мне так удобнее(см. документацию по imagesearch))

8 текст для вставки

12-21 десятисекундное предупреждение о начале работы кода (подразумевается, что нажатие клавиши F3 в это время прервёт цикл на эти 25 минут)

22 блокировка мыши, чтобы ничего случайно не испортить

26 получение ID активного окна, чтобы развернуть его назад после работы цикла

27 свернуть активное окно

29 открытие поста в нужном мне браузере

31-32 активация браузера

36 поиск поля для ввода комментария (сохранил скриншот поля для ввода в .bmp)

37 блок инструкций, если изображение (поле ввода) найдено на экране => страница открылась корректно

39 нажать на поле для ввода

41 вписать текст комментария

43 отправить

45 закрыть вкладку браузера (ALT+W)

49-51 звук об успешном написании комментария

52 разблокировка мыши

53 восстановление свёрнутого ранее окна

54 точка входа, если был нажат F3

58 блок инструкций при нажатии F3


По началу всё было замечательно, но со временем, другие начали замечать, что я пишу ровно один и тот же текст и ровно в одно и то же время, от чего начали задавать вопросы и устраивать "проверки". В итоге я немного модифицировал код, я сделал из переменной say массив фраз для вставки и время цикла сделал случайным в диапазоне от 15 до 25 минут. Плюс, я сделал определение, что мой пост последний ((15to25)*2 > 30min => победа), и если это так, то будет сделан скриншот страницы, затем открывается вкладка браузера с написанием сообщения самому себе (сижу с телефона) и я пишу себе уведомление о победе.

Как гарантийно и без труда победить в конкурсе комментариев AHK, Autohotkey, Лайфхак, Программирование, Скриптование, Конкурс, Длиннопост, Бот

Построчно:

8 определение переменной массива

9 число индекса переменной (будет случайным для случайной фразы)

10-52 ввод значений в массив и подсчёт индекса массива (не уверен, что этот способ самый правильный, но придумал только так)

84 поиск моего аватара в месте последнего комментария

85-96 скриншот, открытие вкладки сообщения, написание сообщения себе же и закрытие вкладки

97-107 написание комментария

101 генерация случайного числа для выборки элемента массива (от 1 до "кол-во эл-тов")

117 рандом времени в диапазоне 15-25 минут (SleepTime указывается в милисекундах, в секунде 1000мс, поэтому я округлил рандом.


В итоге программа сама за меня писала разные комментарии в разном временном периоде. Так же, я иногда заходил на пост самостоятельно и от себя писал другие комментарии, отвечал на комментарии других людей в мой адрес, что в итоге убрало все подозрения. Меня проклинали, ругали, что если бы не я, то уже победили бы, и вот, на третий день розыгрыша мне удалось в районе 5 утра победить. Проснувшись, я увидел скриншот экрана и сообщение самому себе. Победа. :)

Я успешно забрал свой приз и по просьбе администратора прислал ему отчётное фото. Я нарочно сделал очень сонное лицо, будто не спал три дня.

Показать полностью 2
  •  
  • 26
  •  

Как заказывать на Pandao, чтобы не облажаться? Секретные методы спецслужб

Как заказывать на Pandao, чтобы не облажаться? Секретные методы спецслужб Длиннопост

Если вы хоть раз были в интернете, то точно слышали о Pandao. Или из рекламы с Бузовой, или из видео блогеров, которые проверяют, не развод ли скидка 50% на ноутбук Xiaomi, или от мамы, которая просит заказать овощерезку в новом приложении. И спектр заблуждений о Pandao прямо пропорционален количеству пользователей, которые о нем знают. Рассказываем, как правильно покупать товары в этом интернет-магазине, чтобы потом ни о чем не жалеть.

Читайте отзывы. И не только на самой площадке


Земля круглая, дважды два четыре, а любой покупатель должен знать, что перед заказом товаров нужно почитать отзывы. Банально? Да, но знаете, плоскоземельцы вот регулярно находятся, поэтому азы повторить будет нелишним.


Отзывов у продавцов может быть много, но если большинство из них в стиле «еще не проверял, но дошло вроде целое», то на хорошие оценки обращать смысла нет. А если пользователь поделился опытом использования товара, да еще приложил фотографии или видео — это уже совсем другое дело.

Показать полностью 4
  •  
  •