PhiLIOsoph

29.07.2008

AutoIt – Windows’ eigentliche Skriptsprache…

Abgelegt unter: PC, Programmieren, Tools, Windows — Robert @ 00:13:54

Ich habe vor einigen Tagen AutoIt wiederentdeckt. AutoIt ist eine BASIC-ähnliche Skriptsprache zur Automatisierung von Windows. Automatisierung umfasst das vielfältige “Simulieren” von Benutzerinteraktionen (Mausklicks / Tastatureingaben) oder sogar das direkte Manipulieren von Programmfenstern (verschieben / vergrößern / maximieren / minimieren / verändern uvm.) …

Offizielle Kurzbeschreibung:

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!

An AutoIt faszinieren mich vor allem:

  • die unglaubliche Fülle an Funktionen in der Standardauslieferung (das erinnert mich ein wenig an die Standardbibliothek von Python, obgleich diese natürlich noch viel mächtiger ist… dennoch: “batteries included”)
  • die sehr gute Dokumentation! Fast zu jeder Funktion gibt es auch ein Beispielskript. Es funktioniert ganz einfach so, wie es beschrieben ist! Auf diese Weise macht das Skripten fast so viel Spaß wie mit Python…
  • die Möglichkeit, Skripte zu kompilieren. Sie müssen dann nicht mehr interpretiert werden, sondern sind von sich aus lauffähig auf fast allen Windows-Systemen.

Beispielskript: Der Fensterretter

Ich will auch noch ein ganz kleines Beispielskript vorstellen:
Vorgestern hatte ein Freund von mir das Problem, dass sich ein Programmfenster außerhalb seines Desktops befand. Das Programmfenster war auch herkömmlichem Wege (z.B. neustarten) nicht wiederzubekommen und eine entsprechende Windows-Funktion hat er nicht gefunden (weil sie sehr gut versteckt oder nicht existent ist).
Das Problem tritt relativ häufig dann auf, wenn man mit mehreren Bildschirmen arbeitet.

Zur Lösung dieses Problems habe ich kurzerhand den “FensterRetter” ins Leben gerufen. Nach 5 Minuten war er fertig und das Fenster wieder da, wo es sein sollte. Dank AutoIt!

Code:

; FensterRetter.au3
; www.robertnitsch.de
;
 
#Include <WinAPI.au3>
 
$titel = InputBox("Fenstertitel", "Den Titel oder wenigstens den Anfang des Titels von dem Fenster, das gerettet werden soll, angeben:")
if $titel = "" Then
	msgbox(32, "Fehler", "Ohne Fenstertitel geht hier gar nichts, sorry...")
	exit(1)
endif
 
$handle = WinGetHandle($titel)
 
if $handle = "" Then
	msgbox(32, "Fehler", "Sorry, aber dieses Fenster konnte nicht gefunden werden... versuch einen anderen Titel!")
	exit(1)
Else
	_WinAPI_MoveWindow($handle, 10, 10, _WinAPI_GetWindowWidth($handle), _WinAPI_GetWindowHeight($handle))
endif

Das Tool fragt a) den Fenstertitel ab, b) ermittelt das Fenster-Handle und c) schiebt das Fenster per API-Aufruf an die linke obere Bildschirmecke.

Download

FensterRetter.zip (290 KB)

Fazit

AutoIt ist mächtiger als vergleichbare Skriptsprachen (VBScript *kotz*), wahrscheinlich auch noch viel besser dokumentiert und sehr zuverlässig. AutoIt ist alles in allem auf jeden Fall einen Blick wert!

07.07.2008

Veröffentlichung der Lernleistung

Abgelegt unter: Freaky, Informatik, Mathematik, Programmieren, Python, Real Life, Schule — Robert @ 12:46:10

Ich habe nun endlich meine Lernleistung veröffentlicht.
Das Ganze hat sich wegen eines Festplattenfehlers verzögert. Außerdem fehlen nun einige ergänzende Texte, die ich speziell für die Veröffentlichung erstellt hatte. Jetzt muss erstmal das reichen, was in den Backups zu finden war, auch wenn es nun teilweise besonders schwer verdaulich ist.

© Robert Nitsch
(Powered by WordPress ( WordPress Deutschland ))