AutoIt

AutoIt

AutoIt-logo.svg
Temel veri

geliştirici Jonathan Bennett ve ekibi
Yayın yılı Ocak 1999
Mevcut  sürüm 3.3.14.5
(16 Mart 2018)
işletim sistemi pencereler
Programlama dili C ++
kategori Komut dosyası dili
Lisans Ücretsiz
Almanca konuşan Evet
www.autoitscript.com

AutoIt , esas olarak Microsoft Windows altındaki işlemlerin otomatikleştirilebildiği , ancak aynı zamanda eksiksiz Windows programlarının da yazılabildiği komut dosyalarını yürütmek için bir yazılımdır . AutoIt ücretsiz bir yazılımdır ve NT , 2000 , XP , Vista , 7 , 8 ve 10'da çalışır . Sürüm 2'ye kadar, açık kaynaktı ve kaynak kodun sürüm 3'ten bölümleri kısıtlayıcı bir lisans altında yayınlandı. Şu anda yalnızca birkaç belge oluşturma dosyası mevcuttur. Program, kullanıcıya BASIC benzeri bir betik dili sağlar . Ayrıca bir yorumlayıcı ve çalıştırılabilir dosyaların ( exe dosyaları ) oluşturulabileceği bir derleyici içerir ; bu, AutoIt komut dosyalarının AutoIt yüklü olmayan bilgisayarlarda çalışmasına izin verir.

işlevi

AutoIt komut dosyaları , diğer şeylerin yanı sıra tuş vuruşlarını ve fare tıklamalarını simüle eder . Sıra, belirli bir işlemin çalışmasına veya sona ermesine veya belirli bir pencerenin etkinleştirilmesine, açılmasına veya kapatılmasına bağlı olarak yapılabilir. Windows ayrıca simge durumuna küçültülebilir, gizlenebilir, etkinleştirilebilir veya kapatılabilir; Dosyalar ve dizinler yürütülebilir, kopyalanabilir, taşınabilir, yeniden adlandırılabilir veya silinebilir. Pano ve kayıt veri tabanının içeriği de düzenlenebilir. Sürüm 3 ile (Ağustos 2008 itibariyle) aşağıdaki işlemler mümkündür:

  • Mesaj pencereleri ve giriş kutuları dahil olmak üzere GUI'lerin oluşturulması
  • Kullanıcı girdisinin ve tuş vuruşlarının uygulamalara otomatik olarak gönderilmesinin yanı sıra uygulamalar içinde bireysel kontrol
  • COM ( Bileşen Nesne Modelleme ) nesnelerinin kullanımı
  • Win32 DLL'nin işlev çağrısı
  • WinAPI'den işlev çağrısı
  • Konsol uygulamalarının yürütülmesi ve standart veri akışlarına erişim
  • Belirli bir zamanda çıkarılabilen, derlenmiş dosyaya dosyaları dahil etme
  • Ses dosyalarını çalın, duraklatın, devam edin, durdurun, arayın, geçerli çalma konumu ve sesin uzunluğu
  • Karmaşık matematiksel hesaplamalar yapın
  • TCP ve UDP protokolü üzerinden iletişim
  • 3.2.4.0 sürümünden itibaren Unicode desteği
  • Destek ActiveX süreçler ( WSH / VBScript "AutoItX" uzantılı)
  • Veritabanı erişimi (örneğin SQLite [kurulum paketinde])
  • Internet Explorer'ın Otomasyonu
  • Microsoft Word ve Microsoft Excel'in Otomasyonu

Sürüm 3.2 ile AutoIt büyük ölçüde genişletildi ve çok sayıda program hatası giderildi. Ek olarak, komut dosyaları a3x dosyaları olarak kaydedilebilir ve GUI işlevleri iyileştirilmiştir.

AutoIt komut dosyası örneği

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

Adınızı girmenizi isteyen bir giriş kutusu görüntülenir. İsim değişkene $sNamekaydedilir.

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

Bu komutla , değişkenin içeriğini çıkaran bir mesaj kutusu görüntülenir $sName. 64 değeri , pencereyi bir "bilgi kutusu" olarak tanımlar (uyarılar, sorular veya hata mesajları da mümkündür).

Gelişmiş bir AutoIt komut dosyası örneği

#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.

Uzantılar ve ek programlar

  • Uyarlanmış bir versiyonu ( "SciTE4AutoIt3") bulunmaktadır SciTE bir şekilde entegre geliştirme arabirimi (IDE) AutoIt'de için. Ücretsiz program düzenleyici, söz dizimi vurgulamanın yanı sıra otomatik tamamlamayı ve sık kullanılan sözdizimi öğeleri oluşturmak için bazı makroları destekler. SciTE4AutoIt3, AutoIt ana sayfasından ücretsiz olarak indirilebilir.
  • Kullanıcı Tanımlı İşlevler (UDF'ler) adı verilen çok sayıda ek işlev mevcuttur veya şunları içerir; Topluluk tarafından oluşturulan uzantılar sayesinde, mevcut işlev yelpazesi yukarıdaki listeden çok daha fazlasını içerir.
  • KODA-Form-Designer, AutoIt komut dosyaları için grafik kullanıcı arabirimlerinin (GUI, Grafik Kullanıcı Arabirimleri) basitleştirilmiş şekilde oluşturulmasını sağlar.
  • Tidy girintileri, büyük harfleri, yorumları ve daha fazlasını düzelterek bir AutoIt komut dosyasını "temizler".
  • CodeWizard ile mesaj kutuları (mesaj pencereleri), giriş kutuları (giriş pencereleri) ve çok daha fazlası oluşturulabilir. Mesaj kutusu oluşturucunun çevrimiçi bir sürümü var.
  • AutoIt Pencere Bilgisi, bir pencereden veya fare işaretçisinden bilgi okumak için kullanılan bir uzantıdır (örneğin, pencere veya fare konumu, piksel renkleri, kontrol koordinatları).
  • Yukarıda bahsedilen noktaların tümü zaten SciTE4AutoIt3'e entegre edilmiştir.

Ayrıca bakınız

  • AutoHotkey - AutoIt'in 2. sürümünden türetilen bir açık kaynak lisansı altındaki alternatif yazılım

İnternet linkleri

Bireysel kanıt

  1. ^ Jon: AutoIt Kaynak Kodu. İçinde: AutoItScript Forumu. 8 Şubat 2005, 4 Eylül 2018'de erişildi .
  2. Günlüğü değiştir