AutoIt скрипты - введение и FAQ. AutoIt скрипты - введение и FAQ Autoit узнать что приложение занято



1. Для чего предназначен AutoIt3?

AutoIt предназначен для общих задач автоматизации. Для достижения этой цели был создан стандартизированный бейсикоподобный язык программирования. Это означает, что если вы уже знакомы с какими-либо скриптовыми языками программирования, то вы, скорее всего, с легкостью освоите AutoIt v3.

2. Сложно ли освоить AutoIt?

Освоить AutoIt3 очень легко, посмотрите пример вызова команд

9. Почему, когда я пытаюсь вывести значение переменной, используя конструкцию "Значение переменной: $variable", я не получаю ожидаемого результата?

Если у вас есть переменная с именем $msg и вы хотите вывести его в MsgBox , то следующая конструкция НЕ сработает:

12. Как завершить выполнение скрипта при нажатии горячей клавиши?

Если вы хотите завершить скрипт по нажатию определенной комбинации клавиш, используйте функцию HotKeySet , которая запускает заданную пользователем функцию при нажатии указанной комбинации клавиш. Эта пользовательская функция должна содержать ключевое слово Exit .

Ниже приведен код, который завершает скрипт при нажатии комбинации клавиш CTRL+ALT+x

13. Как использовать свой собственный значок для скомпилированного скрипта?

Вам надо запустить программу компиляции скриптов (а не просто выбрать “Компиляция/Compile” при клике правой кнопкой мыши на файл скрипта). Эта страница справки описывает работу компилятора более подробно. Также используйте AutoIt3Wrapper, чтобы указывать иконку в самом скрипте с помощью директив.

14. Как предотвратить запуск второй копии моего скрипта?

Используйте функцию _Singleton () . Посмотрите раздел справки по пользовательским функциям (UDF) для более подробной информации по работе этой функции и способов ее применения.

15. Какие технические ограничения AutoIt3?

Ниже вы найдите текущие технические ограничения налагаемые на AutoIt. Имейте в виду, что некоторые ограничения сугубо теоретические и вы скорее достигнете пределы производительности или операционной памяти, прежде чем сработает ограничение. Также смотрите раздел " "

Значение Описание
2147483647 Максимальная длина строковой переменной. Учитывая ограничение 2 Гб на один процесс и символы находящиеся в памяти в Юникоде, это заметно снижает указанную величину
не ограничено Максимальное кол-во GUI-окон
5100 Максимальный уровень вложенности рекурсивного вызова функций
не ограничено Максимальное кол-во пользовательских функций
не ограничено Максимальное кол-во используемых в скрипте переменных

Диапазон чисел с плавающей точкой с точностью до 15 знаков после запятой

Диапазон целых чисел: 64-битный целый знаковый тип

0x7FFFFFFF

Диапазон шестнадцатеричных чисел: 32-битный целый знаковый тип
64 Максимальное кол-во измерений в массиве
16 млн Общее кол-во элементов в массиве

16. Почему в примерах файла справки отсутствует какое-то изображение?

Это должна была быть кнопка “Открыть/Open”, которая открывает примеры из справки в окне редактора. Такого рода ошибка возникает, когда библиотека hhctrl.ocx неправильно зарегистрирована в системе или этот файл испорчен.
Попробуйте зарегистрировать выполнив команду "regsvr32 hhctrl.ocx" (диалог "Выполнить" по Win+R) или проверьте исправность файла.


Эта статья появилась на сайте ввиду популярности AutoIt у посетителей форума Автоматической Установки Windows. Статья состоит из двух частей. В первой - введение в AutoIt, целиком взятое из русской справки к AutoIt , которую очень грамотно перевел с английского Валерий Иванов. К сожалению, найти координаты автора не удалось, но хочется верить, что он не возражает против публикации его трудов. Я настоятельно рекомендую загрузить справку и ознакомиться с уроками , из которых вы сразу узнаете, насколько просто автоматизировать установку приложений при помощи AutoIt. Вторая часть статьи представляет собой список часто задаваемых на конференции Oszone вопросов о работе с AutoIt. Ответы, конечно, прилагаются. "Oszone AutoIt FAQ" для вас подготовил .

Введение в AutoIt

AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя - симуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши и управления окнами и его визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.

По замыслу AutoIt предполагался быть средством "тиражирования конфигураций" ПК. Но с момента создания третьей версии его возможности могут быть использованы для реализации "кухни" автоматизации - написания сценариев решения различных задач, в том числе и для администрирования системы.

AutoIt умеет:

  • Симулировать нажатия комбинаций клавиатуры (поддерживается основная масса раскладок клавиатуры)
  • Симулировать перемещения указателя мыши и нажатия на ее кнопки
  • Перемещать, менять размер и управлять параметрами отображения окон
  • Непосредственно взаимодействовать с "управляющими элементами" (controls) окна (получать/менять надпись, перемещать, отключать, и т.п. действия)
  • Работать с буфером обмена для пересылки его текстового содержания
  • Читать, менять и создавать ключи и значения реестра

Новая версия AutoIt3 распознает общепринятые конструкции и имеет стандартный синтаксис, напоминающий синтаксис VBScript и BASIC, и поддерживает обработку сложных выражений, выполнение собственных функций, проводить циклические и условные вычисления. Помимо этого AutoIt3 приспособлен для всего того, что уже давно используют ветераны-сценаристы.

Как и раньше AutoIt имеет небольшой размер интерпретатора (~100KB), который является самостоятельным и не ссылается на другие, кроме системных.dll библиотек. Он намеренно не делает самостоятельных или скрытых записей в реестре, кроме обязательных и составляющих процесс полной установки. Сценарии могут быть скомпилированы в независимые выполняемые файлы с помощью поставляемого компилятора сценариев - Aut2Exe.

Вместе с интерпретатором модернизируются ActiveX и DLL версия AutoIt, которые называются AutoItX3. Эта библиотека представляет собой объединенный композит (COM и стандартная DLL библиотека в одном модуле). AutoItX3 позволяет добавлять уникальные возможности AutoIt в написанные Вами приложения на других языках программирования!

И, наконец, самым знаменательным является тот факт, что AutoIt остался бесплатным . Однако, если Вы имеете возможность поддержать этот проект ценой собственного времени, деньгами или иными усилиями, то все виды пожертвований принимаются на домашней странице AutoIt .

Oszone AutoIt FAQ

Читайте руководство к AutoIt - многое прояснится:) Нижеизложенное - это что-то вроде краткой справки и FAQ по совместительству.

Запуск приложений

  1. Обычный запуск
    Run("C:\Program Files\RivaTuner\RivaTuner.exe")
    ;или так:
    FileChangeDir("C:\Program Files\RivaTuner\")
    Run("RivaTuner.exe")
    Для универсализации скриптов используйте макросы, например, вместо "C:\Program Files " гораздо практичнее использовать макрос @ProgramFilesDir . Тогда команда запуска приложения будет выглядеть так:
    Run(@ProgramFilesDir & "\RivaTuner\RivaTuner.exe")

    Полный список макросов смотрите в разделе руководства "Macro Reference ".

  2. С ожиданием завершения (удобен для тихой установки приложений)
    RunWait("RivaTuner20RC158.exe /s")
    Обратите внимание на то, что первым аргументом функций Run и RunWait является ПОЛНЫЙ путь к исполняемому файлу. Писать одно имя можно только в двух случаях - если скрипт находится в том же каталоге или после предварительной смены рабочего каталога с пом. ф-ции FileChangeDir .

Системные переменные

  1. В принципе, макросы дублируют большинство системных переменных, но не все. Добраться напрямую к их значениям можно с пом. ф-ции EnvGet , например:
  2. Дописывание пути в переменную Path : ;например, допишем путь к 7-Zip в Path $addtopath="%ProgramFiles%\7-Zip" $smcur="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet" & StringFormat("%03s",RegRead("HKEY_LOCAL_MACHINE\SYSTEM\Select","Current")) & "\Control\Session Manager\Environment" $syscurpath=RegRead($smcur,"Path")

» AutoIt

Overview

AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying “runtimes” required!

AutoIt was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.

  • Easy to learn BASIC-like syntax
  • Simulate keystrokes and mouse movements
  • Manipulate windows and processes
  • Interact with all standard windows controls
  • Scripts can be compiled into standalone executables
  • Create Graphical User Interfaces (GUIs)
  • COM support
  • Regular expressions
  • Directly call external DLL and Windows API functions
  • Scriptable RunAs functions
  • Detailed helpfile and large community-based support forums
  • Compatible with Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2 / Windows 10
  • Unicode and x64 support
  • Digitally signed for peace of mind
  • Works with Windows Vista’s User Account Control (UAC)

AutoIt has been designed to be as small as possible and stand-alone with no external .dll files or registry entries required making it safe to use on Servers. Scripts can be compiled into stand-alone executables with Aut2Exe .

Also supplied is a combined COM and DLL version of AutoIt called AutoItX that allows you to add the unique features of AutoIt to your own favourite scripting or programming languages!

Best of all, AutoIt continues to be FREE – but if you want to support the time, money and effort spent on the project and web hosting then you may donate .

Download

Features

Here are some of the unique features of AutoIt.

Basic-like Syntax and Rich Function Set

AutoIt has a BASIC-like syntax which means that most people who have ever written a script or used a high-level language should be able to pick it up easily.

Although it started life as a simple automation tool, AutoIt now has functions and features that allow it to be used as a general purpose scripting language (with awesome automation as well of course!). Language features include:

  • The usual high-level elements for functions, loops and expression parsing
  • A staggering amount of string handling functions and a Perl compatible regular expression engine (using the PCRE library).
  • COM support
  • Call Win32 and third-party DLL APIs

Built-in Editor with Syntax Highlighting

AutoIt comes with a customised “lite” version of SciTe that makes editing scripts easy. Users can also that includes additional tools to make things even easier.

Standalone and Small

AutoIt is a very small and standalone application with no reliance on massive runtimes like .NET or VB. All you need to run AutoIt scripts are the main AutoIt executable (AutoIt3.exe) and the script. Scripts can also be encoded into standalone executables with the built-in script compiler Aut2Exe .

International and 64-bit Support

AutoIt is fully Unicode aware and also includes x64 versions of all the main components! How many other free scripting languages can you say that about?

Key and Mouse Simulation

Much time has been spent optimizing the keystroke and mouse simulation functions to be as accurate as possible on all versions of Windows. All the mouse and keyboard routines are highly configurable both in terms of simulation “speed” and functionality.

Window and Control Management

You can expect to move, hide, show, resize, activate, close and pretty much do what you want with windows. Windows can be referenced by title, text on the window, size, position, class and even internal Win32 API handles.

Directly get information on and interact with edit boxes, check boxes, list boxes, combos, buttons, status bars without the risk of keystrokes getting lost. Even work with controls in windows that aren’t active!

Graphical User Interfaces (GUIs)

AutoIt v3 will also allow you to create some complex GUIs – just like those below!

And much, much more.

You’ll probably want to go to the downloads page right now…




Top