Mit MsgBoxMan kann man Dialoge (Message-Boxen) automatisch beantworten lassen. Auch beliebige
andere Fenster lassen sich automatisieren.
MsgBoxMan läßt sich von Windows über aktivierte Fenster informieren und simuliert
dann bei Erkennen eines zuvor definierten Fensters beliebige Tastendrücke oder sendet Kommandos and das Fenster.
MsgBoxMan liegt mit einem Icon im Systray:
Die gewünschten Dialoge werden anhand folgender Informationen identifitiert:
- Titelzeilen-Text
- Fenster-Klasse
- erster statischer Text im Fenster (falls vorhanden)
- Größe des Fensters
- Pfad zur Programm-Datei (unter 64-Bit-Windows nur Programm-Datei)
Diese Informationem muß man nicht von Hand zusammentragen. Dafür gibt es das 'Fenster-Suchwerkzeug':
Einfach mit der Maus auf die Zielscheibe klicken, bei gedrückter Maustaste über die gewünschte
Messagebox fahren und dort die Maustaste loslassen.
Der Test auf eine passende Titelzeile kann 'exakt', 'von links', 'von rechts' oder 'beliebig' erfolgen.
Die Titelzeile kann dafür entsprechend geändert werden.
Ein etwas veraltetes Beispiel: Ein Werbe-Popup beim Mozilla-Browser hat folgende Titelzeile:
Popup Ad - Mozilla {Build ID: 2002041711}
Nach dem nächsten Mozilla Update stimmt die Build ID nicht mehr überein, so daß MsgBoxMan das Fenster
nicht erkennen würde. Hier wäre es sinnvoll, den Text ab dem Doppelpunkt zu löschen und 'von links' zu
wählen.
Die Ausführung des Macros kann verzögert werden, damit man die Message-Box noch sieht, oder ggf. der Automatik zuvorkommt.
Simulierte Tastedrücke (Makros):
Die verfügbaren Tastendrücke und Kommandos sind rechts neben dem Makro-Textfeld aufgelistet. Ein Doppelklick
auf einen Eintrag fügt die Taste oder das Kommando ins Makro ein.
Am Anfang der Liste stehen ca. 25 Tasten mit ihren englischen Namen, danach alle verfügbaren Tasten mit den Namen die Windows ihnen gegeben hat. Die Namen variieren je nach Spracheinstellung und unterscheiden sich auch zwischen Windows 9x/ME und NT/2000/XP/Vista/usw. Die Taste {AKUT} auf deutschen Tastaturen ist übrigens der Deadkey für Accent aigu und Accent grave (links neben Backspace (=Rücktaste)).
{TAB+WAIT} ist nützlich wenn man mit einer Tastenfolge mehrere Textboxen ausfüllen möchte, zwischen denen mit der Tab-Taste gewechselst wird. Mit TAB+WAIT wartet MsgBoxMan nach Senden der Tab-Taste bis eine neue Textbox aktiv ist. Die maximale Wartezeit beträgt 300ms. In 'modernen' Anwendungen sind Textboxen heute oft keine echten Windows-Textboxen, so daß hier immer die 300ms zum Tragen kommen.
{DELAY=100} ist keine Taste sondern bewirkt eine Wartepause von 100 Millisekunden. Das kann hilfreich sein, wenn man z.B. auf eine träge Anwendung oder eine weitere Dialogbox warten muß. Den Wert kann man je nach Bedarf anpassen - aber bitte nicht übertreiben, MsgBoxMan "steht" so lange...
Ab V0.9 ist das in der neuen Liste "Funktionen" untergebracht, hier gibts Funktionen um in MessageBoxen die von Windows vordefinierten Schaltflächen zu betätigen und Fenster zu minmieren, maximiere und zu schließen.
Ab V1.0 wird unter 64-Bit-Windows wenigstens der EXE-Name ermittelt, mit Pfad gehts leider nicht aus einer 32-Bit-Anwendung.
Die Umschalttasten 'Shift', 'Ctrl' und 'Alt' (deutsch: 'Umschalt', 'Strg', 'Alt') wirken nur auf die jeweils folgende "richtige" Taste. Das Geiche gilt für die Windows-Taste {WINKEY}.
Soll eine öffnende geschweifte Klammer eingefügt werden, muß sie gedoppelt werden, da damit normalerweise die Sondertasten eingeleitet werden.
Sollen Textfelder ausgefüllt werden, können die Buchstaben ohne geschweifte Klammer geschrieben werden. Diese werden dann nicht als Tastendruck simuliert, sondern per WM_CHAR-Nachricht an die Anwendung übertragen.
|