AutoIt

AutoIt

AutoIt-logo.svg
Основные данные

разработчик Джонатан Беннетт и команда
Год публикации Январь 1999
Текущая  версия 3.3.14.5
(16 марта 2018 г.)
Операционная система Windows
язык программирования C ++
категория Язык сценариев
Лицензия Бесплатное ПО
Говорящий по-немецки да
www.autoitscript.com

AutoIt - это программное обеспечение для выполнения сценариев, с помощью которого можно автоматизировать в основном процессы в Microsoft Windows , но также можно писать полные программы для Windows. AutoIt распространяется бесплатно и работает на NT , 2000 , XP , Vista , 7 , 8 и 10 . До версии 2 это был открытый исходный код, а начиная с версии 3 части исходного кода публиковались под ограниченной лицензией. В настоящее время доступно лишь несколько файлов сборки документации. Программа предоставляет пользователю язык сценариев, подобный BASIC . Он также содержит интерпретатор и компилятор, с помощью которых можно создавать исполняемые файлы ( файлы exe ); это позволяет запускать сценарии AutoIt на компьютерах, на которых не установлен AutoIt.

функция

Скрипты AutoIt , помимо прочего, имитируют нажатия клавиш и щелчки мыши . Последовательность может зависеть от того факта, что определенный процесс запущен или завершился, или что определенное окно активировано, открыто или закрыто. Окна также могут быть свернуты, скрыты, активированы или закрыты; Файлы и каталоги можно запускать, копировать, перемещать, переименовывать или удалять. Также можно редактировать содержимое буфера обмена и регистрационной базы данных . В версии 3 (по состоянию на август 2008 г.) возможны следующие операции:

  • Создание графического интерфейса, включая окна сообщений и поля ввода
  • Автоматическая отправка пользовательского ввода и нажатия клавиш приложениям, а также индивидуальный контроль в приложениях
  • Использование объектов COM ( моделирование компонентных объектов )
  • Вызов функций Win32 DLL
  • Вызов функций из WinAPI
  • Выполнение консольных приложений и доступ к стандартным потокам данных
  • Включение файлов в скомпилированный файл, которые могут быть извлечены в определенный момент времени
  • Воспроизведение звуковых файлов, пауза, продолжение, остановка, поиск, текущая позиция воспроизведения и продолжительность звука
  • Выполняйте сложные математические вычисления
  • Связь через TCP и UDP протокол
  • Поддержка Unicode с версии 3.2.4.0
  • Поддержка процессов ActiveX ( WSH / VBScript ) с расширением «AutoItX»
  • Доступ к базе данных (например, к SQLite [в инсталляционном пакете])
  • Автоматизация Internet Explorer
  • Автоматизация Microsoft Word и Microsoft Excel

В версии 3.2 AutoIt был значительно расширен и устранены многочисленные программные ошибки . Кроме того, сценарии можно сохранять как файлы формата a3x, а функции графического интерфейса пользователя были улучшены.

Пример скрипта AutoIt

$sName = InputBox("Fenstertitel", "Geben Sie hier Ihren Namen ein!")

Поле ввода отображается , что попросит вас ввести свое имя. Имя $sNameсохраняется в переменной .

MsgBox(64, "Fenstertitel", "Hallo " & $sName & "!")

С помощью этой команды отображается окно сообщения , в котором выводится содержимое переменной $sName. Значение 64 идентифицирует окно как «информационное окно» (также возможны предупреждения, вопросы или сообщения об ошибках).

Пример расширенного скрипта AutoIt

#cs	Startet einen Kommentar-Block

Standard-Präfixe für Variablen:

	- $h 	- Handle von z. B. einem Fenster oder einer Datei
	- $id 	- ID's von Controls, wie z. B. Buttons und Eingabefelder
	- $s	- Strings (Zeichenketten)
	- $i	- Integers (Ganzzahlen)

	Variablennamen werden normalerweise in Englisch verfasst! (Kein Standard)

#ce	; Beendet einen Kommentar-Block


#include <FTPEx.au3> ; Einbinden von mehreren vordefinierten Scripten.
#include <GUIConstantsEx.au3>

;############# Änderbare Daten ################
$sIP = "IP von FTP-Server"
$sUser = "Benutzername vom FTP-Benutzer"
$sPassword = "Passwort vom FTP-Benutzer"
$sFTP_Path = "Pfad auf dem Server"
;##############################################

$hGUI = GUICreate("TestGUI", 445, 339) ; In der Mitte des Bildschirms wird mit der X-Koordinate 445, und der Y-Koordinate 339 ein Fenster gezeichnet.
GUISetBkColor(0xBFCDDB) ; Die Hintergrundfarbe wird vom Standard geändert.
$idSend = GUICtrlCreateButton("Versenden", 0, 288, 203, 49) ; Der "Versenden"-Knopf wird erstellt.
$idEdit = GUICtrlCreateEdit("", 0, 0, 441, 289) ; Ein Eingabefeld wird erstellt.
GUICtrlSetData($idEdit, "Beispiel-Text" & @CRLF & "Nächste Zeile") ; Ein Text wird in das Eingabefeld geschrieben. @CRLF markiert einen Zeilenumbruch.
GUICtrlSetBkColor($idEdit, 0xC0C0C0) ; Die Hintergrundfarbe des Eingabefeldes wird geändert.
GUISetState(@SW_SHOW) ; Das Fenster wird angezeigt.

While 1 ; Eine While-Schleife wird geöffnet, die immer wieder bestimmte Sachen abfragt. Endlosschleife, in diesem Fall die "Messageloop" des Fensters.
        $iMsg = GUIGetMsg() ; Die Variable die abgefragt werden soll, wird immer wieder neu erstellt. (Einmal pro durchlauf der Schleife.)
        Switch $iMsg ; Die Variable wird als Ereignisauslöser definiert.
            Case $GUI_EVENT_CLOSE ; Falls der "Schließenknopf"(X oben rechts in der Ecke) gedrückt wird,
                Exit ; beendet sich das Script.
            Case $idSend ; Falls der "Versenden"-Button gedrückt wird,
                _Put_on_FTP() ; wird die "_Put_on_FTP" Funktion ausgeführt.
        EndSwitch ; Die Abfrage der Variable $nMsg wird beendet.
WEnd ; Markiert das Ende einer "While"-Schleife(n) definition. Falls die Schleife endet, arbeitet das Skript von hier weiter.

Func _Put_on_FTP() ; Benutzerdefinierte Funktionen haben normalerweise das Präfix "_" und der Name sollte auch in Englisch gehalten sein.
        Local $sFilePath = "ftp.txt" ; Eine lokale Variable wird deklariert und ein Wert zugewiesen (diese ist nur in dieser Funktion verfügbar).

        $hFile = FileOpen($sFilePath, 10) ; Eine Datei wird zum Schreiben geöffnet, und falls sie nicht existiert, wird diese erstellt.
        $sText = GUICtrlRead($idEdit) ; Der Text aus dem Eingabefeld wird eingelesen.
        FileWrite($hFile, $sText) ; In die zuvor geöffnete Datei wird der Text aus der Variablen $sText geschrieben.
        FileClose($hFile) ; Die Datei wird geschlossen und die Ressourcen wird freigegeben.
        $hFTP = _FTP_Open("TestFTP") ; Die FTP-Sitzung wird gestartet.
        $hFTP_Connection = _FTP_Connect($hFTP, $sIP, $sUser, $sPassword) ; Eine FTP-Verbindung zum angegebenen Server wird aufgebaut.
        If @error <> 0 Then ; Falls @error ungleich 0 ist (ein Fehler ist aufgetreten),
                MsgBox(0, "Error", "Der FTP-Server scheint nicht erreichbar zu sein.") ; Eine Fehlermeldung wird ausgegeben.
            ElseIf @error = 0 Then ; Falls @error gleich 0 ist (kein Fehler ist aufgetreten),
                _FTP_FilePut($hFTP_Connection, $sFilePath, $sFTP_Path) ; wird Die Testdatei auf den Server geschrieben.
                If @error Then ; Falls es einen Fehler gibt, ...
                        MsgBox(0, "Error", "Es trat ein Fehler beim Übertragen auf.") ; ... wird eine Fehlermeldung angezeigt, ansonsten ...
                    Else ; Wenn kein Fehler aufgetreten ist,
                        MsgBox(0, "Erfolg", "Die Datei wurde erfolgreich übertragen.") ; ... war die Operation erfolgreich.
                EndIf ; Die If-Abfrage wird geschlossen.
        EndIf ; Die erste If-Abfrage wird geschlossen.
        _FTP_Close($hFTP) ; Die FTP-Verbindung wird geschlossen und die FTP-Sitzung wird beendet.
        FileDelete($sFilePath) ; Die temporäre Datei wird gelöscht.

        Return ; Funktion beenden und mit der eigentlichen Skript-Ausführung fortfahren.
EndFunc ; Markiert das Ende einer Funktion.

Расширения и дополнительные программы

  • Существует адаптированная версия («SciTE4AutoIt3») SciTE в качестве интегрированного интерфейса разработки (IDE) для AutoIt. Редактор бесплатных программ поддерживает подсветку синтаксиса, а также автозаполнение и некоторые макросы для создания часто используемых элементов синтаксиса. SciTE4AutoIt3 можно бесплатно загрузить с домашней страницы AutoIt.
  • Многочисленные дополнительные функции доступны через так называемые пользовательские функции (UDF) или включают; Благодаря расширениям, созданным сообществом, текущий набор функций включает в себя гораздо больше, чем список выше.
  • KODA-Form-Designer позволяет упростить создание графических пользовательских интерфейсов (GUI, Graphical User Interfaces) для скриптов AutoIt.
  • Tidy «очищает» сценарий AutoIt, исправляя отступы, заглавные буквы, комментарии и многое другое.
  • С помощью CodeWizard можно создавать окна сообщений (окна сообщений), поля ввода (окна ввода) и многое другое. Есть онлайн-версия генератора сообщений.
  • AutoIt Window Info - это расширение, которое используется для чтения информации из окна или указателя мыши (например, положение окна или мыши, цвета пикселей, координаты управления).
  • Упомянутые выше пункты уже интегрированы в SciTE4AutoIt3.

Смотри тоже

  • AutoHotkey - альтернативное программное обеспечение по лицензии с открытым исходным кодом, полученное из версии 2 AutoIt

веб ссылки

Индивидуальные доказательства

  1. ^ Джон: Исходный код AutoIt. В: Форум AutoItScript. 8 февраля 2005, доступ к 4 сентября 2018 .
  2. ↑ Журнал изменений