Kann man eigentlich mit mAirList-Skript Messageboxes erstellen? Etwa "Wollen Sie das wirklich tun? " etc.?
Nein. Alle Scripts laufen in der Regel in einem Hintergrund-Thread und haben keinen Zugriff auf die Benutzeroberfläche. Das ist eine technische Einschränkung seitens Delphi (die VCL ist nicht thread-safe).
Ich habe ein ganz cooles Tool gefunden, mit dem man Messageboxes erstellen kann: http://f2ko.de/en/cmd.php → messagebox.
Darüber kann man sich ganz gut behelfen, wenn ein Script eine Messagebox ausgeben soll.
Die Syntax zum Aufrufen der messagebox.exe ist recht einfach:
[code]Messagebox - Display a message.
Call: messagebox.exe [-h|-v] [flags]
Options:
-h Print this message
-v Print version number
Examples: messagebox.exe title text
messagebox.exe title text 1[/code]
Was dort nicht definiert ist, was ich aber gerade herausgefunden habe, ist die Bedeutung der Flags: Während bei Flag=0 die Messagebox nur einen OK-Button anzeigt, gibt es bei Flag=1 zusätzlich einen Abbrechen-Button. Jenachdem, welchen Button der Benutzer auslöst, gibt das Programm einen Errorlevel zurück. Und zwar wie folgt:
[code]
Flag Buttons (Errorlevel)
0 OK (1)
1 OK (1), Abbrechen (2)
2 Abbrechen (3), Wiederholen (4), Ignorieren (5)
3 Ja (6), Nein (7), Abbrechen (2)
4 Ja (6), Nein (7)
5 Wiederholen (4), Abbrechen (2)
6 Abbrechen (2), Wiederholen (10), Weiter (11)[/code]
Es gibt von dem Programmierer übrigens noch einige weitere praktische kleine Tools. Z.B. auch eine Inputbox (Eingabe eines Textes) und Datei-öffnen- sowie Datei-speichern-Dialoge. Sehr praktisch ist auch windowontop.exe, mit dem man bestimmte Fenster dauerhaft in den Vordergrund setzen kann. Dazu gibt es zwar eine Reihe von Tools, aber die meisten sind nicht über eine Batch-Datei steuerbar. Hier hingegen funktioniert das.
Viele Spaß damit.