AutoIt
| AutoIt
| |
|---|---|
|
| |
| Основные данные
| |
| разработчик | Джонатан Беннетт и команда |
| Год публикации | Январь 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
веб ссылки
- Домашняя страница AutoIt
- Немецкое сообщество AutoIt
- Существует также онлайн-версия справочного перевода на немецкий язык.
- Руководство
- Викибук об Autoit (еще очень неполный)
Индивидуальные доказательства
- ^ Джон: Исходный код AutoIt. В: Форум AutoItScript. 8 февраля 2005, доступ к 4 сентября 2018 .
- ↑ Журнал изменений