|
WindowBot™ (der Registerkarte 'Fenster-Automatisierung') kann einige Aktionen ausführen, wenn ein Fenster von Interesse auf dem Desktop erscheint.
WindowBot™ kann verwendet werden für:
- Schliessen von lästigen Popups: Sie können Fenster, die Sie jedes Mal, wenn sie erscheinen, manuell wegklicken müssten, ausblenden (schliessen, minimieren, zuhinterst anordnen oder unsichtbar machen). Manchmal wird Werbung direkt über Ihre tägliche Arbeit eingeblendet. Diese Funktion eliminiert so etwas automatisch für Sie. Sie können auch die Windows-Box "Netzwerkverbindung wiederherstellen fehlgeschlagen" schliessen lassen, die angezeigt wird, wenn die Verbindung zu einem Server oder dem Internet unterbrochen wurde.
- Ändern der Priorität eines Prozesses, der ein Fenster erzeugt, sobald er erscheint. Zum Beispiel können 7-Zip-Archivierungsläufe oder Kopier-/Verschiebevorgänge des Datei-Explorers so geändert werden, dass sie weniger in Ihre Arbeit eingreifen. Anstatt letzteres wäre es aber sowieso besser, Mighty Desktop's Dateikopierer im 'Datei-Center' zu verwenden.
- Anklicken einer Schaltfläche oder eines Punktes innerhalb eines Fensters. So können Sie zB. lästige modale Dialoge wie "Sind Sie sicher?" wegklicken oder Ihre Kamera ein Foto machen lassen.
- Ein Fenster, das nach einem Passwort fragt, nach dem Bootvorgang automatisch zuvorderst anordnen. Beispiel: Ihr System könnte das Anmeldungsfenster für ein Netzlaufwerk oder ein verschlüsseltes Laufwerk anzeigen und zuvorderst anordnen, das als Vorbedingung der "Wiederaufnehmen"-Funktion von Mighty Desktop ausgeführt werden muss. In diesem Fall möchten Sie dieses Fenster ganz vorne haben und nicht hinter all den Fenstern hervorkramen müssen, die beim Laden des Desktops vom Anmeldevorgang darüber geöffnet werden. Lösung: Sie können eine WindowBot™-Aufgabe hinzufügen, die nach dem Hochfahren einmalig ausgeführt wird und das Anmeldefenster in den Vordergrund bringt. Für diesen Anwendungsfall ist die Aktion 'Fenster zuvorderst platzieren' genau das richtige.
- Ausführen einer beliebigen Aktion durch Kombination vordefinierter Kommandi. Es sind bereits viele Aktionen in Mighty Desktop vordefiniert, die Sie als Bausteine verwenden können. Lesen Sie mehr unter Mighty-Aktionen.
- Ihrer Fantasie überlassen.
Wenn WindowBot feststellt, dass ein bestimmtes Fenster vorhanden ist (oder eine Schaltfläche in einem Programm), führt es die von Ihnen konfigurierte Aktion aus. Der Aktion wird eine Liste von Argumenten in der Form "Name:Wert" übergeben. WindowBot übergibt stets die folgenden Argumente an die Aktion (immer mit englischem Namen):
- Text = Statusmeldung wie "WindowBot Eintrag 'x' wird ausgeführt..."
- EntryName = Eintragsname in der Liste
- WindowHandle = Die Handle des Fensters im Betriebssystem
- WindowTitle = Titel des Fensters
- WindowClass = Klassenname des Fensters
- WindowId = Individuelle Nummer des Fensters, die ihm vom Programmierer zugewiesen wurde
- PID = Prozess-ID-Nummer
- ProcessName = Name des Prozesses, der das Fenster erstellt hat. Mehr darüber im Kapitel Prozesse Identifizieren von ProzessBot.
- ProcessPathName = Pfadname des Prozesses, der das Fenster erstellt hat (einschliesslich Ordnerpfad)
- ProcessPathNameOrName = Dies ist normalerweise 'ProcessPathName', aber wenn dieser nicht sichtbar ist (leer oder mit Leerzeichen gefüllt), nimmt es 'ProcessName'
- ProcessIsElevated = Ob der Prozess im Admin-Modus läuft
- LastExecution: Die DatumZeit, zu dem diese Aktion das letzte Mal ausgeführt wurde
- LogInfos: Boolescher Wert, der angibt, ob die Aktion Informationen darüber protokollieren soll, was sie gerade tut (ähnlich wie 'Verbose')
- ... = Das Feld 'Aktionsargument' im Raster wird gelesen und alle Argumente werden der Liste hinzugefügt. Die Syntax ist die gleiche wie bei den Kommandozeilenargumenten (siehe Kapitel). Beispiel: Punkt:10,20 MeinArgument:30" fügt der Liste zwei Argumente 'Punkt' und 'MeinArgument' hinzu. Um die Syntax herauszufinden, wechseln Sie auf die Registerkarte 'Aktionen' und probieren Sie dort Ihre Aktion zuerst aus.
Lesen Sie im Kapitel Aktionen nach, wie Sie auf diese Argumente zugreifen und sie in den String in der Spalte 'Aktionsargumente' einfügen können.
Wiederholung: Sie können festlegen, wie oft WindowBot™ prüfen soll, ob ein Fenster oder eine Schaltfläche (bzw. ein Steuerelement) auf dem Bildschirm gefunden werden kann, und dann die Aktion ausführen soll:
- Manuell: Nur, wenn Sie ihn per Knopfdruck aktivieren, über einen Menüpunkt starten oder per Kommandozeile aufrufen
- Intervall der Hintergrundüberprüfung: Jedes Mal, wenn alle Hintergrundprüfungen durchgeführt werden, was standardmässig alle 10 Sekunden der Fall ist
- Warten auf Wiederaufnahme: In regelmässigen Abständen während des Wartens auf die Erfüllung des Wiederaufnahmemusters (siehe Anhalten-Wiederaufnehmen)
- Einmal nach Wiederaufnahme: Nachdem der PC wieder aufgenommen wurde und die Wiederaufnahme-Funktion abgeschlossen wurde
Eine spezielle Einfügeoperation wird unterstützt: Sie können eine Liste von WindowBot-Einträgen aus einer textuellen, XML-strukturierten Definition einfügen. Dies ist das gleiche Format, das Sie sehen, wenn Sie einige Einträge in Ihren Texteditor ziehen bzw. kopieren. Wenn ein Eintrag bereits vorhanden ist, wird er übersprungen. Dies ermöglicht den einfachen Austausch von WindowBot-Einträgen mit Ihren Freunden oder den Import von Einträgen aus Webseiten. In Zukunft ist eine Seite auf unserer Website geplant, die neue coole WindowBot-Einträge auflistet. Bitte senden Sie uns Ihre coolen Sachen über die Feedback-Funktion im About-Tab. Wir werden es dann auf dieser Webseite platzieren.
Wundern Sie sich auch nicht, wenn einige Fenster ein spezielles Verhalten aufweisen. Wenn Sie versuchen, sie zu schliessen, gehen welche einfach in den minimierten Zustand über oder werden unsichtbar. Während das kein grosses Problem darstellt (Sie können die Aktion in WindowBot einfach auf 'Minimieren' ändern), erzeugen einige Fenster wirklich seltsame Reaktionen. Die folgenden sind diejenigen, die bereits bekannt sind (bitte senden Sie uns eine Info, wenn Sie weitere gefunden haben):
- Avira Antivirus Software: Wenn Sie Fenster des Prozesses 'ipmgui.exe' schliessen, stellen Sie sicher, dass Sie dieses Fenster ausblenden oder ganz nach unten schieben (es widersteht dem Schliessen):
Title "", Id 0, Class "AvIPMDialog", Pos:650,438 Size:300,325 Visibility:Visible
Dieses Fenster ist technisch gesehen sichtbar und hat eine Grösse grösser Null, aber es ist komplett transparent und nimmt seltsamerweise trotzdem Klicks an (der Programmierer hätte es klick-transparent machen sollen). Wenn Sie also dieses Fenster nicht wegschieben, werden Sie den Effekt erleben, dass ein Teil des Windows-Desktops nicht auf einen Klick reagiert. Um die Ursache für solche Dinge zu finden, können Sie auf die Registerkarte Fensterliste wechseln und die Schaltfläche "Auswahl durch Zeigen" verwenden. Dadurch wird das unsichtbare Fenster entdeckt und Sie können es auf versteckt schalten.
Fenster-Identifikation
Bitte beachten Sie, dass die eindeutige Identifizierung eines Fensters (Spalte 'Fenstertitel') eine schwierige Aufgabe ist. Der Fenstertitel kann sich häufig ändern, etwa weil er den Namen eines Dokuments oder eines Zählers enthält. Ausserdem können sich sogar Fensterklassennamen ändern, wenn zB. eine Zufallszahl wie eine GUID angehängt wird. Darüber hinaus kann der Pfad der ausführbaren Datei eine Versionsnummer enthalten. Um dies zu lösen, verfügt Mighty Desktop über ein Musterübereinstimmungs-System mit den Zeichen '*' (was eine beliebige Zeichenkette bedeutet) und '?' (ein beliebiges Zeichen). Für kompliziertere Fälle können in der Registerkarte Prozess-Variationen auch Reguläre Ausdrücke zur Übereinstimmung hinterlegt werden. Wie die Prozess- und Fenster-Eigenschaften überprüft werden, steht im Kapitel Prozess-Identifikation in der Registerkarte ProzessBot. Seien Sie jedoch gewarnt, dass das vom Prozess gemeldete "Hauptfenster" manchmal nicht mit dem aktuell laufenden Hauptfenster des Prozesses identisch ist. Möglicherweise wird es nur einmal gespeichert, nämlich das erste Fenster, das ein Prozess erstellt.
Hinweise:
- Bekannte Änderungen von bekannten Anwendungen werden bereits automatisch entfernt, um den Status zu speichern und einen erfolgreichen Vergleich zu ermöglichen. Zum Beispiel wird die Passage "(Running)" aus dem Visual Studio Hauptfenster entfernt, damit eine nicht laufende Lösung mit einer laufenden übereinstimmt.
- Gehe zu Fenster: Versucht, das Fenster eines Prozess es gemäss aktuellem Eintrag zu finden und zeigt diesen Prozess dann in der Prozessliste. Falls nichts passt wird analysiert, was nicht übereinstimmt und im Log-Paneel angezeigt. Hilfreich bei nicht übereinstimmenden Eigenschaften. Mehr dazu siehe Abschnitt "Prozess-Identifikation" im Kapitel "ProzessBot".
- Gehe zu Prozess: Versucht, einen Prozess mit den Prozess- Parametern des aktuellen Eintrags zu finden ohne die Fenstereigenschaften zu überprüfen und wechselt dann zur Prozessliste und markiert den Prozess. Falls nichts passt wird analysiert, was nicht übereinstimmt und im Log-Paneel angezeigt. Ein gutes Diagnoseinstrument. Mehr dazu siehe Abschnitt Prozess-Identifikation des ProzessBot.
- WindowBot™ kann nicht nur auf Programm-Fenster reagieren, sondern praktisch auf jegliche Bedienelemente, zB. Schaltflächen, Dialoge usw. da diese technisch gesehen ebenfalls "Fenster" sind.
- Beachten Sie, dass sich die Aktion "Fenster zuvorderst platzieren" von der Aktion "Fenster aktivieren" unterscheidet. Erstere hat die nützliche Eigenschaft, den aktuellen Eingabefokus (Cursor) dort zu belassen, wo er ist, während "Fenster aktivieren" den Fokus auf das Fenster verschiebt.
- Wenn Sie mit einer Hierarchie von ineinander verschachtelten Fenstern arbeiten, ist es in der Regel der beste Ansatz, die Aktion "Schliessen" oder "Minimieren" auf das oberste Fenster anzuwenden. Wechseln Sie zur Registerkarte "Fensterliste" und verwenden Sie die Schaltfläche [=> Elter], um in der Hierarchie nach oben zu springen, bis Sie am obersten Fenster angelangt sind.
- Wenn eine Aktion nicht ausgeführt wird, wählen Sie sie im Raster aus und versuchen Sie die Schaltflächen "=> Fenster" und "=> Prozess". Wenn das fehlschlägt, könnte sich eine Eigenschaft des Fensters geändert haben. Die Schaltflächen enthalten eine erweiterte Logik, um die Ursache zu finden und zu melden. Das Anwenden von Mustern für den sich ändernden Teil könnte das Problem lösen.
- Fensterorientierte Aktionen wie "Fenster schliessen" versuchen, ein einzelnes Fenster zu finden, das allen angegebenen Argumenten entspricht. Aus Sicherheitsgründen werden sie nur ausgeführt, wenn genau ein Fenster übereinstimmt. Wenn es mehrere Fenster mit den gleichen Kriterien gibt, wird eine Fehlermeldung ausgegeben. Wenn jedoch das Argument 'WindowHandle' in der Liste der Argumente enthalten ist, werden sie die anderen Eigenschaften ignorieren und dieses Fenster nehmen, wenn es gefunden werden kann.
- WindowBot™ arbeitet nur auf offenen Fenstern, nie auf minimierten oder unsichtbaren. Wenn Sie reagieren möchten, wenn ein Fenster nicht oder nicht mehr existiert, schauen Sie sich bitte die Registerkarte Permanente Anwendungen an.
Konkrete Beispiele (alphabetisch)
<?xml version="1.0" encoding="utf-8"?>
<WindowAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UserdefinedName>7-ZIP auf low priority</UserdefinedName>
<WindowDescriptor>
<Title>*% Compressing *</Title>
<Id>0</Id>
<ClassName>#32770</ClassName>
<ProcessPathName>C:\Program Files\7-Zip\7zG.exe</ProcessPathName>
<ProcessName>7zG.exe</ProcessName>
<ProcessArguments>§any§</ProcessArguments>
</WindowDescriptor>
<MultipleWindows>true</MultipleWindows>
<Action>Prozesspriorität festlegen</Action>
<ActionArguments>ProcessPriority:Idle</ActionArguments>
<Recurrence>
<RecurrenceType>SpecifiedInterval</RecurrenceType>
<TimeSpan>1:00</TimeSpan>
</Recurrence>
</WindowAction>
Sie können diese bei Bedarf durch einfaches Einfügen zu Ihrer Liste hinzufügen.
|