
Введение в AutoIt
Новая версия AutoIt3 распознает общепринятые конструкции и имеет стандартный синтаксис, напоминающий синтаксис VBScript и BASIC, и поддерживает обработку сложных выражений, выполнение собственных функций, проводить циклические и условные вычисления. Помимо этого AutoIt3 приспособлен для всего того, что уже давно используют ветераны-сценаристы.
Как и раньше AutoIt имеет небольшой размер интерпретатора (
Вместе с интерпретатором модернизируются ActiveX и DLL версия AutoIt, которые называются AutoItX3. Эта библиотека представляет собой объединенный композит (COM и стандартная DLL библиотека в одном модуле). AutoItX3 позволяет добавлять уникальные возможности AutoIt в написанные Вами приложения на других языках программирования!
И, наконец, самым знаменательным является тот факт, что AutoIt остался бесплатным. Однако, если Вы имеете возможность поддержать этот проект ценой собственного времени, деньгами или иными усилиями, то все виды пожертвований принимаются на домашней странице AutoIt.
Oszone AutoIt FAQ
Запуск приложений
Run(‘C:\Program Files\RivaTuner\RivaTuner.exe’)
;или так:
FileChangeDir(‘C:\Program Files\RivaTuner\’)
Run(‘RivaTuner.exe’)
Полный список макросов смотрите в разделе руководства «Macro Reference«.
Системные переменные
;имя создаваемой переменной
$newsysvarname=’new’
;тип переменной
$newsysvartype=’REG_SZ’
;значение переменной
$newsysvarvalue=’value’
$smcur=’HKEY_LOCAL_MACHINE\SYSTEM\ControlSet’ & StringFormat(«%03s»,RegRead(«HKEY_LOCAL_MACHINE\SYSTEM\Select»,»Current»)) & ‘\Control\Session Manager\Environment’
RegWrite($smcur,$newsysvarname,$newsysvartype,$newsysvarvalue)
Создать сист. переменную также можно используя ф-цию EnvSet(«envvariable»[,»value»]), но она будет существовать только до выхода из текущего скрипта.
Ввод данных / работа с элементами управления
;дожидаемся активности окна RivaTuner с текстом Choose Install Location
WinWaitActive(‘RivaTuner’,’Choose Install Location’)
;изменение пути уcтановки RivaTuner со стандартного на @ProgramFilesDir&’\RivaTuner’
Send(@ProgramFilesDir & ‘\RivaTuner’)
ControlSetText(‘RivaTuner’,’Choose Install Location’,’Edit1′,@ProgramFilesDir & ‘\RivaTuner’)
;или
ControlSend(‘RivaTuner’,’Choose Install Location’,’Edit1′,@ProgramFilesDir & ‘\RivaTuner’)
Проверьте, чтобы текстовый файлик скрипта (au3) был в ANSI (Win-1251) кодировке.
Как точно попасть MouseClick-ом в нужную кнопку не зная разрешения экрана.
;фрагмент информационного окна AutoIt Window Info:
Control ID: 1
ClassNameNN: Button2
Text: &Next >
Работа с ini-файлами
Импорт данных из reg-файла в реестр
;для избавления от лишней головной боли лучше указывать полный путь к reg-файлу
;в данном примере, макрос @ScriptDir говорит о том, что reg-файл находится в одном каталоге со скриптом
;флаг @SW_HIDE заставит ф-цию RunWait отработать в скрытом окне
RunWait(‘regedit /S ‘ & @ScriptDir & ‘\рег-файл.reg’,»,@SW_HIDE)
;отключение информационного окна в кодеке DivX
RegWrite(«HKEY_CURRENT_USER\Software\DivXNetworks\DivX4Windows»,»Disable feedback»,»REG_DWORD»,0x00000001)
;регистрация WinAmp-а
RegWrite(«HKEY_LOCAL_MACHINE\SOFTWARE\Nullsoft\Winamp», «regname», «REG_SZ», «xxxxxxxxxxxxx»)
RegWrite(«HKEY_LOCAL_MACHINE\SOFTWARE\Nullsoft\Winamp», «regkey», «REG_SZ», «xxxxxxxxxxxxxxxxxxxxxxxx»)
;удаление WinampAgent-а из автостарта
RegDelete(«HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run», «WinampAgent»)
Предотвращение возможности множественного запуска скрипта
В начало скрипта добавьте такие строки:
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
Отлов «случайных» окон
If WinExists(‘Регистрация FineReader 7.0′,’Пожалуйста’) Then
WinActivate(‘Регистрация FineReader 7.0′,’Пожалуйста’)
Send(‘‘)
ControlClick(‘Регистрация FineReader 7.0′,’Пожалуйста’,’Button4′)
WinWaitActive(‘Регистрация’,’Внимание!’)
Send(‘‘)
EndIf
Действующий пример использования AdlibEnable (а также вызова своей ф-ции при выходе из скрипта Opt(«OnExitFunc»,»MyExit»)) можете посмотреть в моем скрипте для установки переводчика Pragma.
Введение в AutoIt. Урок 1
Коротко о главном.
Что такое AutoIt?
Какой софт нужен для работы с AutoIt?
Нужный софт можно скачать с оффициального сайта AutoIt
Введение в AutoIt
Как говорилось выше с помощью AutoIt(далее AI) можно автоматизировать почти всё происходящее на компьютере.
Переменные
Вывод данных
Вывод данных делается с помощью команды ConsoleWrite(«текст или перем»).
Соединение строк организуется не символом «+» а символом «&»
Ввод данных
Только через GUI есть консольный ввод но с ним очень много мороки. Я за свои полгода работы на AI так с ним и не разобрался
Условия и операторы
Операторы присваивания
Математические операторы
Операторы сравнения
Цикл While организуется так.
Ну и цикл For… In… Next замена foreach.
Массивы
Массивы объявляются командой dim вот так.
На этом я решаюсь закончить статью.
Ссылки.
О песочнице
Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.
Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.
Чтобы исключить предвзятость при оценке, все публикации анонимны, псевдонимы показываются случайным образом.
О модерации
Не надо пропускать:
Быстрый старт для работы с AutoIt
`p r o x y
«Улыбайтесь, господа!»
1. Скачать и установить AutoIt: прямая ссылка / страница закачки.
При установке, в пункте «Select a default option for *.au3 files.», желательно указать «Edit the script». Все остальные настройки оставить по умолчанию.
2. Скачать и установить редактор SciTe: прямая ссылка / страница закачки.
Желательно установить с настройками по умолчанию.
3. Скачать документацию на русском языке: Развитие русской справки. Старая версия: прямая ссылка / страница закачки.
Внимание, данная документация немного устарела! Желательно работать с оригинальной документацией!
Создание и редактирование скриптов
Вариант № 1
Открыть редактор SciTe: меню Пуск > Все программы > AutoIt v3 > SciTE Script Editor, создать новый файл и сохранить его с расширением AU3, или открыть необходимый к редактированию скрипт.
Вариант № 2
Открыть редактор Microsoft Блокнот: меню Пуск > Все программы > Стандартные > Блокнот, создать новый файл и сохранить его с расширением AU3, или открыть необходимый к редактированию скрипт.
Вариант № 3
Нажать правой кнопкой мышки на файл необходимого к редактированию скрипта, и в появившемся контекстном меню выбрать пункт: Edit Script, скрипт откроется в редакторе SciTe.
Вариант № 1
1. Открыть скрипт в редакторе SciTe: меню Пуск > Все программы > AutoIt v3 > SciTE Script Editor.
2. Запустить выполнение скрипта:
2.1 меню Tools > Go
2.2 или нажать клавишу F5.
Вариант № 2
Нажать правой кнопкой мышки на файл скрипта и в появившемся контекстном меню выбрать пункт: Run Script.
Вариант № 3
Запустить ярлык: меню Пуск > Все программы > AutoIt v3 > Run Script, выбрать необходимый скрипт и нажать кнопку Открыть.
Предпочтительно использовать редактор SciTe
Создание, редактирование и запуск скриптов предпочтительно в редакторе SciTe, т.к. данный редактор можно по праву считать средой разработки для языка AutoIt, которая поддерживает и включает в себя:
1. текстовый редактор кода
2. подсветку кода
2. быстрый доступ к запуску скриптов
3. быстрый доступ к компиляции скриптов
4. вывод сообщений об ошибках в коде скрипта
Автоматизация действий в Windows
Скачивание и установка
Чтобы начать пользоваться и начать писать скрипты на Autoit нужно скачать программу-обработчик, ссылка на страницу скачивания: https://www.autoitscript.com/site/autoit/downloads/
На момент написания этой статьи версия Autoit была v3.3.14.5.
Дальше нам желательно скачать специальный текстовый редактор AutoIt Script, ссылка на скачивание установщика: https://www.autoitscript.com/site/autoit-script-editor/downloads/
Можно конечно пользоваться и NotePad++, он поддерживает синтаксис Autoit, но я предпочитаю оригинальный редактор.
Порядок установки такой:
Если у вас 64-битная Windows, то выбираем «use native x64 tools by default», а если 32-битная, то оставляем как есть. Если же вы не знаете какая у вас Windows, также оставляем все как есть.
Также во время установки компилятора Autoit будет задан выбор, «run the script» и «edit the script», обязательно выбираем второй вариант, «edit the script, иначе каждый раз при открытия файла скрипта он будет запускаться, что нам не нужно.
После установки у нас в меню Пуск должен появиться пункт Autoit, заходим в него и выбираем Autoit Windows Info, открываем приложение.
Откройте этот пустой файл в оригинальном редакторе и увидите пару строк по умолчанию, это комментарии, все это можно удалить.
В утилите Autoit Windows Info, которую вы открыли до этого, жмем стрелку вправо до тех пор, пока не появится пункт «Mouse», который нам и будет нужен. Все остальное это для более серьезных вещей и не рассматривается в данном гайде.

Autoit Windows Info.
Основы Autoit
Итак, самое простое, как заставить курсор мыши бегать по экрану, кликать там где нужно, крутить колесиком мыши, щелкать правой кнопкой и тд. и тп. Основы синтаксиса и самые необходимые базовые конструкции я приведу ниже, все остальное найдете сами в интернете:
Sleep(время в миллисекундах), например, Sleep(30000) — останавливает исполнение кода на заданное время. В моем примере это 30.000 миллисекунд, что равно 30 секундам. Всегда ставим какую-нибудь задержку в самое начало кода, чтобы когда вы его запустили, у вас было время на переключение на нужное приложение и т.п.
MouseMove(x, y) — перемещение курсора мыши в заданные координаты Х и Y, измеряется в пикселях. Например,
MouseMove(150, 255) — переместит курсор в точку с координатами 150 пикселей по оси X (отступ слева) и 255 пикселей по оси Y (отступ сверху).
MouseClick(«какая кнопка», x, y, «сколько раз кликать, число») — как и впредыдущем случае перемещает курсор мыши в точку с координатами X и Y. Но также эта команда позволяет кликнуть по этим координатам, либо правой клавишей, либо левой, причем кликнуть нужное количество раз. Разберем на примере:
MouseClick(«left», 150, 255, 2) — команда кликнет 2 раза левой кнопкой мыши по точке с координатами 150 и 255 пикселей. Или:
MouseClick(«right», 150, 255, 1) — кликнет правой кнопкой мыши 1 раз по точке с координатами 150 и 255.

Вкладка Mouse.
. набор команд, любой код.
MouseClick(«left», 150, 255, 1)
Sleep(1000)
MouseClick(«left», 155, 269, 1)
Sleep(1500)
MouseClick(«left», 120, 251, 1)
Sleep(3000)
Насчет Sleep, как я уже говорил, это просто задержка. Советую всегда ставить Sleep между конструкциями действий, например, перемещения мыши.
И последнее, операции условий (ветвления) или как хотите называйте.
If … Else (если … иначе).
If (в скобках пишутся условия или выражения) Then (тогда)
. набор строк или команд.
Else (иначе)
. набор строк или команд.
Endif (конец ветвления)
Причем, Else — необязательно, можно и без него. Пример:
MouseClick(«left», 150, 255, 1)
MouseClick(«right», 150, 255, 1)
К примеру, в созданиях ботов для игр в качестве условия может выступать цвет пикселя, на который наведен курсор. Как вы помните, в утилите кроме координат еще показывает цвет пикселя в HEX формате.
В моем примере на картинке это 0xF0F4F9 (значение можно скопировать CTRL + C).
PixelGetcolor (x, y) — эта запись присваивает код цвета пикселя по координатам x,y в текстовом формате. Пример:
$x = 27
$y = 445
$i = «0xF0F4F9»
MouseClick(«left», 150, 255, 1)
Ну и напоследок, одной из кучи возможности Autoit является набор текста, вы можете послать в нужное место нужные набор символов.
Send(«текст») — отправляет слово «текст» в то место, где на данный момент находится курсор мыши.
Send(«
Ну про колесико мыши упомяну:
MouseWheel(«куда крутить», «сколько крутить») — крутит колесико мыши вверх или вниз нужное количество раз. Например,
MouseWheel(«up», 10) или MouseWheel(«down», 15) — прокрутит колесико (скролл) мыши 10 раз вверх или 15 раз вниз.
Запуск скрипта
Ну хорошо, мы все написали, сохранили и хотим проверить. Как запустить скрипт Autoit на исполнение? Есть два способа:
Если вы не расставите нужные задержки через Sleep, то не успеете остановить скрипт. Кстати, в редактор встроен отладчик, который подсветит красным неверный синтаксис и не даст запуститься скрипту, если в нем есть ошибки.
Писать можно долго, возможностей у языка очень много, это были просто основы для понимания. Если есть вопросы задавайте в комментариях. И не забывайте ставить Sleep.
Знакомство с Autoit или как автоматизировать работу на компьютере
Доброго дня. Вопрос наверно очень тупой. Так вот, как добавлять библиотеки к autoit?
Привет. Я сделал одну штуку которая при нажатии на клавиши WSAD двигает курсор. Как сделать чтобы например при нажатии W и A курсор двигался по диагонали?
If _IsPressed(«57») Then
If _IsPressed(«41») Then
If _IsPressed(«44») Then
If _IsPressed(«53») Then
Знаю, что 6 лет прошло, но все же) Нужна помощь. Нужно реализовать возможность открыть все спойлеры на странице и скопировать на ней текст в буфер обмена (а лучше в другое окно). Важно, что текст должен копироваться не весь, а выборочно. По ключевым словам, на которые этот текст начинается и заканчивается.
Соображения высшего порядка,
а также постоянное информационно-техническое
я долбаеб обеспечение нашей деятельности способствует
повышению актуальности форм воздействия я долбаеб?
Дорогие друзья, начало повседневной работы
я дебил по формированию позиции напрямую зависит от я дебил
экономической целесообразности принимаемых решений.
Ключевые слова: я долбаеб я дебил. Соответственно, должен скопироваться текст между ними(включая ключевые):
я долбаеб обеспечение нашей деятельности способствует
повышению актуальности форм воздействия я долбаеб
я дебил по формированию позиции напрямую зависит от я дебил
Не брат
Доброе дело спустя год
В прошлом году мы установили два стенда со скакалками в центре Челябинска. Любой желающий может взять скакалку и попрыгать.
Прошло достаточно много времени, и я хочу поделиться наблюдениями.
Стенды функционируют, скакалки пропадают, но не фатально. Потери на Алом Поле составляют в среднем 13 скакалок в месяц, на стадионе Локомотив примерно в 8 раз меньше.
Так выглядит стенд, когда мы месяц не были в парке.
Самый неприятный случай был, когда мы приехали на площадку через несколько дней после того, как навели там порядок. И обнаружили на нём одну скакалку.
По моим наблюдениям пакостят в основном школьники. Оказывается, многие из них даже не догадываются, для чего скакалки нужны. Я неоднократно наблюдал, как они перекидывают их через турник и качаются, некоторые размахивают ими и стучат ими по опорам турников. Иногда бегают с ними по газонам и бросают где попало (мы находили в округе).
Обычно я подхожу и рассказываю, для чего нужны скакалки. Бывает, что у ребят появляется интерес, тогда я могу показать несколько трюков и чему-то научить.
Какие бы потери не происходили, мы регулярно пополняем наличие на обоих стендах.
В хорошую погоду прыгают довольно много, одновременно бывает 10-15 человек. Причем это люди всех возрастов.
Сначала скакалки были разноцветными без какой либо закономерности. А потом мы додумались соотнести цвета в зависимости от длины.
Теперь пользоваться ими стало удобнее, а также контролировать наличие. Если кто-то присылает фотку с состоянием стенда, сразу легко оценить, каких скакалок не хватает, чтобы пополнить наличие.
Зимой рядом со стендом нагребли большую кучу снега, поэтому когда она начала таять, пришлось на три недели убрать скакалки, чтобы они не валялись в грязи (когда я проектировал стенды, то не додумался крючки разместить выше, чтобы скакалки не касались земли).
Когда подсохло, то скакалки мы повесили на место, а на землю постелили резиновые коврики, чтобы рукоятки не пачкались, и людям не ходить по земле.
Хочу сказать про сами скакалки. Мы вешаем на стенды не обычные резиновые, а бисерные. Они не путаются во время прыжков (это особенно важно для новичков) и не перемерзают на морозе, поэтому прыгать можно круглый год.
Я сам довольно неплохо прыгаю со скакалкой, но когда начинал, мне не хватало нужного инвентаря, поэтому дело шло довольно медленно. Семь лет назад я бы с удовольствием ходил в подобное место. Думаю, что там есть шанс встретить единомышленников, учитывая то, что скакалка становится всё популярнее в последнее время.
Итог. Я доволен проектом.
За всё время (это 15 месяцев) потери довольно большие: 200 скакалок на Алом Поле и 40 на стадионе Локомотив. Думаю, что за это время скакалками воспользовались несколько тысяч человек. Некоторые из них периодически пишут мне в соц сетях приятные слова.
Для установки следующего стенда будем учитывать, что в спортивных локациях меньше случайных людей, поэтому скакалки пропадают реже, чем в парке.
Мы недавно переехали в другой город, но продолжаем навещать наши стенды и пополнять наличие скакалок.
У этого проекта несколько целей:
1. Создать условия для занятий спортом (физкультурой).
2. Проверить, насколько жизнеспособной может быть подобная инициатива.
3. Показать своим детям положительный пример и научить их ценить чужой труд.
Неудобно вышло
Ответ apsil в «Елена, Алё?!»
Не знаю продолжение ли этого, но в телеге ссылаются именно на это.
Подъехала вторая часть с той самой ебанутой мамашкой из вотсапа.
Он, похоже, уже давно ходит
Спас 10 человек
Животные в городе
Приз за лучшие ноги получает.
Гордость
Котстел
Кстати коровок или свинушек не жалко?
Нормально так. Девочка Грета с мамой.
Такие поздравления
«Народ у нас оскотинился». Под Петербургом мама-депутат ищет, кто слил видео с её ребёнком за рулем
Депутат из Гатчинского района Ленобласти похвасталась в социальных сетях навыками вождения своего маленького сына. После звонка журналистов ролик оказался удалён, а среди подписчиков начался поиск стукача.
На видео, опубликованное в Instagram депутата совета депутатов Гатчинского района Светланы Малашковой, обратило внимание издание 47news 27 ноября. В ролике на коленях у женщины сидит маленький мальчик, вероятно сын, и управляет автомобилем. Ребёнок заявляет, что сел за руль в 7 лет.
— Сейчас, можно сказать, ты первый раз едешь сам. Левее, канава, — поправляет Малашкова, добавляя, — но педали нажимаю я. Мы тут решили по дорожке проехаться до магазина. Сам едет (переводит камеру на накатанную заснеженную дорогу, видно, что на спидометре 18–20 км/час).
— Ой, мам, там машина! Стой, мам, держи! — воскликнул мальчик.
Мать смеётся в ответ на камеру: «Испугался, руль бросил. Я тебе там помогу, не бойся».
Малашкова в разговоре с журналистами отказалась комментировать видео. После звонка ролик из аккаунта пропал, но появилась запись. «Пока я в бане мои подписчики скидывают мои сториз журналистам. Хочу сказать одно, народ у нас оскатинился и доносами занялся. И мне жаль его» (орфография и пунктуация сохранены. — Прим. ред.).
Светлана Малашкова окончила Институт специальной педагогики и психологии и Государственный институт экономики, финансов, права и технологий. Стала депутатом на выборах в 2019 году от ЛДПР. Входит в постоянную комиссию по вопросам правопорядка и законности. В апреле 2021 года зарегистрировалась как индивидуальный предприниматель. Вид деятельности — реклама. Ранее работала в гатчинской полиции, но уволилась после рождения ребёнка. Известна как экоактивист, борющийся со свалками.
Яж Отец здорового человека
Сейчас еду в поезде (сразу, дело происходит в Германии) утренний рейс народу 5 человек на вагон. 2 мужика где-то впереди, около меня молодой отец (довольно брутального рокерского вида)с ребенком лет 3. Ребенок начал просить включить ему сказку (какая-то игрушка рассказывает сказки).Отец ему говорит тогда пошли спросим у других людей не будем ли мы мешать и они пошли прошлись по всему вагону вместе и ребенок спрашивал всех немногочисленных 3х человек можно он послушает сказку, им конечно все разрешили и папа с сыном пошли и негромко включили сказку, которая даже если бы они не спрашивали никому бы не помешала.
(Если честно до последнего думал что сейчас из динамиков игрушки заиграет Rammstein или Oomph😁) самые внимательные найдут кусочек игрушки
Взгляд со стороны
Как моя Мама отказалась от меня
К машине шли гордым строем.
Впереди охранник с тележкой, наполненной продуктами.
Следом я с литровой коробкой сока, кульком конфет и синим воздушным шариком, и следом мама с чеком, десяти процентной скидкой и бурчанием «Откажусь, к чертовой матери, от тебя. Ходишь, блин, позоришь». Но довольная.





































