Schritte, Skript und AutoHotkey
Was eine Aktion tut, lässt sich auf drei Arten schreiben. Geschrieben als auf der Karte Was sie tut der Seite Aktionen wählt, welche ausgeführt wird.
| Modus | Was er ist | Wählen Sie ihn, wenn |
|---|---|---|
| Schritte | Eine Liste von Schritten, die Sie auswählen und ausfüllen, einer pro Zeile. Kein Code zu tippen. | Sie die Aktion ohne Code aufbauen möchten. Die meisten Aktionen passen dazu: Tasten senden, Text tippen, Fenster verschieben oder schließen, warten, eine Frage stellen. |
| Skript | Die eigene Skriptsprache von Input.Observer, getippt in einem Code-Editor. | Sie rechnen, Text aus Teilen zusammensetzen, Schleifen mit einer Zählvariablen bilden oder etwas tun müssen, das Schritte nicht ausdrücken können. |
| AutoHotkey | Ein AutoHotkey-v2-Skript, ausgeführt von AutoHotkey selbst. | Sie bereits AutoHotkey-Code haben oder etwas brauchen, das nur AutoHotkey kann. |
Schritte und Skript laufen in Input.Observer und rufen dieselben integrierten Funktionen auf: Schritte sind eine visuelle Art, das zu schreiben, was ein Skript tun würde. Siehe Schritte und die Referenz der Skriptsprache.
Jeder Modus behält seinen eigenen Inhalt
Eine Aktion enthält nebeneinander einen Inhalt für Schritte, einen für Skript und einen für AutoHotkey. Ein Wechsel von Geschrieben als ① ändert, welcher ausgeführt wird. Er löscht die anderen nie, Sie können also zurückwechseln.
Ist der gewählte Modus leer, während ein anderer Modus Inhalt hat, sagt ein Hinweis unter dem Umschalter, dass das Ausführen der Aktion nichts bewirkt, und bietet eine Schaltfläche, um den Modus mit Inhalt zu verwenden.
Von Schritten zu Skript wechseln
Wechseln Sie von Schritte zu Skript, während die Aktion Schritte hat und ihr Skriptinhalt leer ist, bietet Input.Observer an, die Schritte zu übersetzen: Schritte in ein Skript konvertieren? Wählen Sie Konvertieren, um die Übersetzung in den Skripteditor zu übernehmen.
- Die Schritte bleiben, wie sie sind. Ein Wechsel zurück zu Schritte zeigt sie unverändert.
- Nichts wird zurückkonvertiert. Ein Skript lässt sich nicht in Schritte umwandeln.
- Schritte mit Wiederholen, solange…, Wiederholen, bis…, Schleife verlassen oder Schritte beenden werden nicht zur Übersetzung angeboten, weil das Skript keine entsprechenden Anweisungen hat. Sie können trotzdem wechseln; der Skriptinhalt beginnt dann einfach leer.
- AutoHotkey wird nie in etwas anderes oder aus etwas anderem konvertiert.
- Sind die Schritte eine Aufzeichnung der Seite Rekorder, sagt das Dialogfeld außerdem, dass das Skript Wiedergabegeschwindigkeit und Detailgrad der Mausbewegung bei der Wiedergabe ignoriert: Seine Wartezeiten laufen in der aufgezeichneten Geschwindigkeit, und jede aufgezeichnete Mausbewegung wird wiedergegeben (Einstellungen des Rekorders).
Von Schritten zum Skript zeigt, was aus jeder Art von Schritt wird.
AutoHotkey
AutoHotkey ist ein eigenes Programm, das Input.Observer startet, wenn eine AutoHotkey-Aktion ausgeführt wird. Es ist nicht enthalten; Sie installieren AutoHotkey v2 selbst und sagen Input.Observer, wo es liegt.
- Installieren Sie AutoHotkey v2.
- Schalten Sie auf der Seite Allgemein AutoHotkey aktivieren ein, und legen Sie unter
Ausführbare AutoHotkey-Datei seine Programmdatei fest, etwa
AutoHotkey64.exe. - AutoHotkey erscheint jetzt unter Geschrieben als. Wenden Sie Ihre Änderungen an, damit die Engine die neue Einstellung verwendet.
Die Regeln:
- AutoHotkey wird unter Geschrieben als nur angeboten, solange AutoHotkey aktivieren eingeschaltet ist oder die Aktion bereits als AutoHotkey ausgeführt wird. Eine AutoHotkey-Aktion bei ausgeschaltetem AutoHotkey tut nichts, und die Seite sagt das.
- Verwenden Sie einen normalen AutoHotkey-Build. Die Builds mit
_UIAim Namen, etwaAutoHotkey64_UIA.exe, können keine Skripte von Input.Observer ausführen. - Ist AutoHotkey eingeschaltet, sein Programm beim Start oder beim Neuladen der Konfiguration aber nicht auffindbar, fragt Input.Observer, ob Sie Nach der ausführbaren AutoHotkey-Datei suchen oder Unverändert lassen möchten.
- Jede Ausführung startet einen neuen AutoHotkey-Prozess mit Ihrem Skript. Er kann die integrierten Funktionen von Input.Observer nicht aufrufen und läuft, bis er von selbst endet; der Hotkey zum Stoppen aller Aktionen beendet ihn.
- Vor Ihrem Skript setzt Input.Observer Variablen, die den Auslöser beschreiben, etwa
IO_ActionName,IO_TriggerKindund das Fenster der Geste oder des Hotkeys (AutoHotkey-Variablen). Die Liste Hier verfügbare Variablen des Editors zeigt die, die die Auslöser der Aktion liefern; klicken Sie auf eine, um sie einzufügen. - Was das Skript in seine Standardausgabe schreibt, erscheint in der Diagnosekonsole, beginnend mit
AHK:(Die Diagnosekonsole).
Eine Aktion aus Schritten oder Skript kann mit der integrierten Funktion AutoHotkeyExecuteScript
auch ein Stück AutoHotkey-Code ausführen. Es gelten dieselbe Einstellung und dieselbe Programmdatei.
AutoHotkey-Variablen
Jede AutoHotkey-Ausführung beginnt mit einigen Zeilen, die Input.Observer Ihrem Skript voranstellt und
die IO_-Variablen aus dem setzen, was die Aktion ausgelöst hat. Das gilt für eine als AutoHotkey
geschriebene Aktion und für mit AutoHotkeyExecuteScript ausgeführten Code, der die Variablen der
aufrufenden Aktion erhält.
Jede Ausführung setzt diese drei:
| Variable | Enthält |
|---|---|
IO_ActionName | Den Namen der Aktion. Bei einem globalen Ereignis Global_Event_, gefolgt vom Namen des Ereignisses in der Konfigurationsdatei, etwa Global_Event_release oder Global_Event_foreground_changed. Leer, wenn nichts die Ausführung ausgelöst hat, etwa bei einem in der Konsole ausgeführten Skript. |
IO_AppGroupName | Den Namen der App-Gruppe, in der die Aktion gefunden wurde, etwa Global. Leer bei einem globalen Ereignis. |
IO_TriggerKind | Was die Ausführung ausgelöst hat: Gesture, Hotkey, TextExpansion, MouseButton (ein globales Ereignis für eine Maustaste oder Zeichentaste losgelassen), Wheel (ein globales Mausradereignis) oder None. |
Die übrigen hängen vom Auslöser ab, und nur die dieses Auslösers werden gesetzt:
| Auslöser | Variable | Enthält |
|---|---|---|
| Geste | IO_GestureWindow | Das Fenster, über dem die Geste begonnen hat |
IO_GestureButton | Die Zeichentaste: left, right, middle, x1 oder x2 | |
IO_GestureStartX, IO_GestureStartY | Wo der Strich begonnen hat | |
IO_GestureEndX, IO_GestureEndY | Wo er geendet hat | |
IO_GestureBoundsLeft, IO_GestureBoundsTop, IO_GestureBoundsRight, IO_GestureBoundsBottom | Das Rechteck um den ganzen Strich | |
IO_GesturePoints | Jeden Punkt des Strichs in Zeichenreihenfolge, als Array von [x, y]-Arrays | |
| Hotkey | IO_HotkeyWindow | Das Fenster im Vordergrund, als der Hotkey gedrückt wurde |
IO_HotkeyVkCode | Den virtuellen Windows-Tastencode der letzten Taste, etwa 75 für K | |
IO_HotkeyModifiers | Die Zusatztasten der Kombination, addiert: Strg 1, Umschalt 2, Alt 4, Windows 8 (Strg+Alt ist 5) | |
| Texterweiterung | IO_TextExpansionWindow | Das Fenster, in das Sie getippt haben |
IO_TextExpansionPattern | Das getippte Kürzel | |
| Maustastenereignis | IO_MouseWindow | Das Fenster unter dem Mauszeiger |
IO_MouseButton | Die Taste: left, right, middle, x1 oder x2 | |
IO_MouseX, IO_MouseY | Wo der Mauszeiger war | |
| Mausradereignis | IO_WheelWindow | Das Fenster unter dem Mauszeiger |
IO_WheelDelta | Wie weit sich das Rad gedreht hat, wie Windows es meldet: 120 für eine Raste eines gewöhnlichen Rads (Räder mit sanftem Scrollen und Touchpads senden kleinere Schritte), positiv von Ihnen weg (oder nach rechts), negativ zu Ihnen hin (oder nach links) | |
IO_WheelHorizontal | true für eine seitliche Raddrehung, false für eine gewöhnliche | |
IO_WheelX, IO_WheelY | Wo der Mauszeiger war |
- Fenster sind Fensterhandles, Zahlen, die AutoHotkey als Fenster-ID liest:
"ahk_id " IO_GestureWindowbenennt das Fenster inWinActivate,WinGetTitleund den anderen Fensterfunktionen. - Positionen sind Bildschirmkoordinaten in physischen Pixeln, ab der linken oberen Ecke des
Hauptmonitors. Setzen Sie
CoordMode "Mouse", "Screen", bevor Sie sie mit den Mausfunktionen von AutoHotkey verwenden, die sonst relativ zum aktiven Fenster arbeiten. - Text kommt genau so an, wie er war; Anführungszeichen, Backticks und Zeilenumbrüche in einem Aktions- oder Gruppennamen werden für Sie maskiert.
- Eine Variable, die der Auslöser nicht liefert, wird überhaupt nicht gesetzt, und AutoHotkey
stoppt das Skript, wenn es eine nicht gesetzte Variable liest. Eine Aktion mit mehreren Arten von
Auslösern oder ein Snippet, das von verschiedenen Aktionen aufgerufen wird, sollte zuerst
IO_TriggerKindprüfen oderIsSet(IO_GestureWindow)verwenden.
Zum Beispiel eine Aktion, die über eine Geste oder einen Hotkey ausgeführt wird, das Fenster, auf dem sie verwendet wurde, in den Vordergrund holt und seinen Titel anzeigt:
CoordMode "Mouse", "Screen"
win := IO_TriggerKind = "Gesture" ? IO_GestureWindow : IO_HotkeyWindow
WinActivate "ahk_id " win
MsgBox WinGetTitle("ahk_id " win), IO_ActionName
Skript-Engines von Plug-ins
Ein Plug-in kann eine eigene Skript-Engine hinzufügen. Sie erscheint dann unter Geschrieben als mit dem Namen des Plug-ins, und der Text, den Sie dort tippen, geht genau so an das Plug-in; Input.Observer prüft ihn nicht. Stellt kein laufendes Plug-in diese Engine bereit, warnt die Seite, dass die Aktion bei der Ausführung übersprungen wird. Siehe Plug-ins.
Im Modus „Einfach“
Der Modus „Einfach“ zeigt Geschrieben als nur bei einer Aktion, die bereits ein Skript oder einen AutoHotkey-Inhalt hat. Bei jeder anderen Aktion zeigt die Karte direkt die Schritte. Um eine neue Aktion als Skript zu schreiben, schalten Sie das Fenster in den Modus „Erweitert“ (Das Konfigurationsfenster).