Immer aktiv - auch ohne Systemdienst
Es existiert eine ganze Reihe von Anwendungsfällen, bei denen es wichtig ist, dass ein bestimmtes Programm konstant läuft. Sollte dieses Programm dann doch einmal beendet werden, so müsste es sofort wieder starten. Üblicherweise nutzen Entwickler hierfür die Technik der "Daemons" oder Dienste, wie diese Hintergrundprozesse des Betriebssystems bei Microsoft Windows genannt werden. AutoIt-Nutzer können hingegen mit wenigen Zeilen die Aktvierung eines Programms sicherstellen, ohne dass sie dazu einen Dienst entwickeln und über das Betriebssystem dafür sorgen müssen, dass dieser stets arbeitet. Das folgende Skript demonstriert, wie sie dazu vorgehen können:
While 1
Sleep(1000)
If Not ProcessExists("notepad.exe") Then
Run("notepad.exe")
EndIf
Wend
Das gezeigte Skript prüft, ob der Notepad-Prozess bereits gestartet wurde. Ist dies nicht der Fall, so wird Notepad gestartet. Die Dauerschleife mit den Anweisungen "While 1" und "Wend" läuft stets - der Windows-Benutzer wird also stets das AutoIt-Symbol im Tray sehen. Die entstehende Systemlast fällt auf aktuellen Systemen kaum ins Gewicht und einen "Wait"-Befehl muss der Anwender ebenfalls nicht einbauen.
Nicht mehr auf dem Desktop zu sehen: Fenster unsichtbar
Was aber nun, wenn ein derart gestartetes Programm auf dem Desktop "unsichtbar" sein soll? AutoIt bietet hier eine Möglichkeit, bei der ein Nutzer zwar weiterhin das Symbol von AutoIt in der Taskleiste sieht, das Programm aber mittels der Window-Mittel transparent, oder gar unsichtbar gemacht werden kann. Das folgende Beispiel-Skript, wie das funktioniert:
While 1
Sleep(1000)
If Not ProcessExists("notepad.exe") Then
Run("notepad.exe")
EndIf
WinSetTrans("Unbenannt - Editor","","127")
Wend
Setzt der Anwender den Wert 127 im Befehl "WinSetTrans" auf den Wert 0, so ist das Windows-Fenster unsichtbar. Bei 127 ist das Fenster halbwegs transparent, bei 255 wäre es dann wieder ganz regulär sichtbar.
Wir konnten in diesem Workshop die Leistungsumfang von AutoIt natürlich nur streifen - es gibt noch eine Vielzahl von Anwendungsfällen, beispielsweise der Datenbankzugriff auf SQLite, E-Mail-Versand, Backup-Programme oder auch die Möglichkeiten der Grafikprogrammierungen, Tipps und Ideen findet der interessierte Leser im deutschsprachigen Forum von AutoIt.