diff --git a/AHKL_ChangeLog.htm b/AHKL_ChangeLog.htm index 692257e6..735f1858 100644 --- a/AHKL_ChangeLog.htm +++ b/AHKL_ChangeLog.htm @@ -15,6 +15,67 @@
Ältere Änderungen können in Archivierte Änderungen gefunden werden.
+Erweitert: Hotkey-, Menu-, SetTimer-, Gui- und Gui-Steuerelement-Ereignisse akzeptieren nun eine Funktion anstelle eines Labels, wenn kein Label gefunden wird.
+Erweitert: Hotkey-, Menu-, SetTimer-, Gui- und Gui-Steuerelement-Ereignisse akzeptieren nun ein Funktionsobjekt. Hinzugefügt: Delete-Unterbefehl für SetTimer zum Freigeben des Objekts.
+Erweitert: Bei OnMessage() ist es nun möglich, dass eine beliebige Anzahl von Funktionen oder Funktionsobjekten eine einzelne Nachricht überwachen können.
+Hinzugefügt: OnExit() und OnClipboardChange(), die ein Funktionsname oder -objekt akzeptieren.
+Hinzugefügt: Hotkey-Label können nun auf eine Funktionsdefinition verweisen.
+Hinzugefügt: U/L/T-Modifikatoren zum Umwandeln in Groß-/Kleinschreibung mit Format().
+Hinzugefügt: E-Option für den Input-Befehl, um Endungszeichen als Zeichen statt als Tastencode zu behandeln.
+Hinzugefügt: Unterstützung von ** (stderr) in FileAppend.
+Hinzugefügt: ObjBindMethod(obj, method, args*) und Func.Bind(args*).
+ +Geändert: AHK verhält sich nun anders, wenn das Hauptscript nicht gefunden wird:
+Geändert: WinActivate wird das Fenster nun wiederherstellen, wenn es bereits aktiv, aber minimiert ist.
+Geändert: WinActivate sucht nun nach einem sichtbaren Fenster, um es zu aktivieren, wenn DetectHiddenWindows ausgeschaltet und das aktive Fenster versteckt ist, anstatt nichts zu tun.
+Geändert: A_CaretX/A_CaretY verwenden nun eine andere Methode zum Abrufen der Position der Texteinfügemarke.
+Geändert: A_OSVersion verwendet nun RtlGetVersion(), um Windows 10 und hoffentlich auch zukünftige Versionen erkennen zu können.
+Geändert: A_OSVersion gibt nun eine Versionsnummer im Format "Haupt.Neben.Build" zurück, wenn es keinen Namen für das Betriebssystem hat.
+Geändert: Objekte unterstützen nun x[,y]
, x.y[,z]
und x[](y)
.
x.__Call(,y)
.x[]
die Standardeigenschaft von x abrufen, und mit fn[]()
könnte man JScript-Funktionen aufrufen.Einige interne Änderungen, um Fehler zu beheben, Codegröße zu reduzieren oder Performance zu verbessern, sowie:
+Behoben: VK-zu-Tastenname-Umwandlungen für die Tasten von 'A' bis 'Z' berücksichtigen nun das Tastaturlayout.
+Behoben: FileAppend's * (stdout) berücksichtigt nun den Codierung-Parameter, anstatt immer ANSI-Text auszugeben.
+Behoben: Auto-Skalierung von GUIs mit nur einem Scrollbalken.
+Behoben: Exception(m, n)
verursachte einen Absturz, wenn n sehr weit die Grenzen überschritten hat.
Behoben: GuiContextMenu setzt A_GuiEvent nun korrekt in x64.
+Behoben: FileGetSize übergab manchmal ein unbestimmtes Ergebnis, wenn die Datei nicht existiert oder nicht geöffnet werden kann.
+Behoben: Thread-Unterbrechungen speichern und stellen ErrorLevel besser wieder her, wodurch folgendes behoben wird:
+Behoben: ControlClick-Pos-Modus ignoriert nun deaktivierte Steuerelemente.
+Behoben: Merkwürdiges Verhalten, wenn Gui +MaxSize kleiner als +MinSize ist.
+Behoben: GuiControl/Get benötigte einen Gui-Namen, wenn ein Steuerelement-HWND angegeben wurde.
+Behoben: Meta-Funktionen beeinträchtigten Zeilennummern, die von Exception() gemeldet werden.
+Verbessert: Neubelegung erlaubt nun scXXX::Y
, wenn das aktuelle Tastaturlayout das ScXXX
nicht einem VK-Code zugeordnet hat. Allerdings muss Y
noch auf dem aktuellen Tastaturlayout vorhanden sein.
Behoben: break n
funktioniert nun korrekt, wenn until
vorhanden ist, anstatt den Thread zu beenden.
Geändert: Das Setzen eines Wertes auf einen leeren String innerhalb eines Objekts speichert nun den leeren String, anstatt das Key-Value-Paar vom Objekt zu entfernen. _Remove kann weiterhin verwendet werden, um Key-Value-Paare vollständig zu entfernen.
-Geändert: Befehlsnamen müssen mit einem Leerzeichen, Tabulator oder Komma terminiert werden. Die folgenden Zeichen umgehen nicht länger diese Anforderung: <>:+-*/!~&|^[]. Zum Beispiel werden Syntaxfehler wie MsgBox< foo und If!foo
nun bei der Ladezeit abgefangen.
Geändert: Befehlsnamen müssen mit einem Leerzeichen, Tabulator oder Komma terminiert werden. Die folgenden Zeichen umgehen nicht länger diese Anforderung: <>:+-*/!~&|^[]
. Zum Beispiel werden Syntaxfehler wie MsgBox< foo
und If!foo
nun bei der Ladezeit abgefangen.
Behoben: Return behandelt nun Ausdrücke korrekt, wodurch eine Variable ein Objekt enthalten kann. Zum Beispiel sollte Return x:=y
, Return (x)
, Return x,...
und ähnliches nun richtig funktionieren (Return x
hat bereits funktioniert).
Behoben: Multi-Parameter get/set unterstützte Meta-Funktionen für mehrere Objekte nicht richtig (wie z. B. für x
und x[y]
im Ausdruck x[y,z]
).
Behoben: Hintereinanderfolgende Objektzuweisungen wie z. B. x[y]:=z
in r:=x[y]:=z
ergaben keine Zahlen oder Objekte - fehlerhaft seit L33.
Eine deutsche Übersetzung von http://ahkscript.org/docs/ (siehe hier für mehr Details).
©2003-2014 Chris Mallett, und zum Teil ©AutoIt-Team und die AHK-Community
Software-Lizenz: GNU General Public License
diff --git a/Hotkeys.htm b/Hotkeys.htm index 93a397db..4ccf813f 100644 --- a/Hotkeys.htm +++ b/Hotkeys.htm @@ -23,6 +23,8 @@Da Mausrad-Hotkeys nur Ereignisse beim Drücken erzeugen (nie beim Loslassen), können sie nicht als Hotkeys verwendet werden, die das Wort "UP" enthalten.
+Jede Ziffernblocktaste kann dazu gebracht werden, je nach Status der NUM-Taste zwei verschiedene Hotkey-Subroutinen zu starten. Alternativ kann man eine Ziffernblocktaste auch dazu bringen, die gleiche Subroutine zu starten, unabhängig vom Status der NUM-Taste. Zum Beispiel:
NumpadEnd:: @@ -203,6 +206,7 @@Tipps und Hinweise
Ein Hotkey-Label kann als Ziel von Gosub oder Goto verwendet werden. Zum Beispiel:
Gosub ^!s
.Häufig werden Hotkeys dazu verwendet, eine wiederholende Aktion zu starten und zu stoppen, wie z. B. mehrere Tastatureingaben oder Mausklicks. Ein Beispiel dazu findet man in diesem FAQ-Thema.
Jedes Script kann aus mehreren Threads bestehen, wodurch es möglich ist, dass ein neuer Hotkey gestartet werden kann, obwohl eine vorherige Hotkey-Subroutine noch läuft. Zum Beispiel können neue Hotkeys gestartet werden, während eine MsgBox mit dem aktuellen Hotkey angezeigt wird.
+Alt-Tab-Hotkeys
Jeder Alt-Tab-Hotkey muss eine Kombination von zwei Tasten sein, das üblicherweise mit einem Und-Zeichen (&) erreicht werden kann. Im folgenden Beispiel kann man die rechte ALT-Taste gedrückt halten und J oder K drücken, um das Alt-Tab-Menü durchzuschalten:
RAlt & j::AltTab @@ -232,5 +236,25 @@+ +Alt-Tab-Hotkeys
IfWinExist ahk_class #32771 Send {Escape}{Alt up} ; Schließt das Menü, ohne das ausgewählte Fenster zu aktivieren. returnFunktions-Hotkeys [v1.1.20+]
+Es ist möglich, einem oder mehreren Hotkeys eine Funktion zuzuweisen, indem man sie wie folgt einfach direkt unter dem Hotkey-Label definiert:
+; STRG+UMSCHALT+O, um den enthaltenen Ordner im Explorer zu öffnen. +; STRG+UMSCHALT+E, um den Ordner zu öffnen und darin die aktuelle Datei zu markieren. +; Unterstützt SciTE und Notepad++. +^+o:: +^+e:: + editor_ordner_öffnen() { + WinGetTitle, pfad, A + if RegExMatch(pfad, "\*?\K(.*)\\[^\\]+(?= [-*] )", pfad) + if (FileExist(pfad) && A_ThisHotkey = "^+e") + Run explorer.exe /select`,"%pfad%" + else + Run explorer.exe "%pfad1%" + }+Es dürfen nur Leerraumzeichen, Kommentare oder Direktiven zwischen den Hotkey-Labeln oder Labeln und der Funktion vorkommen. Es werden keine Labels erstellt, wenn Hotkeys auf diese Weise definiert werden; allerdings endet der automatische Ausführungsbereich beim ersten Hotkey, selbst wenn ihm eine Funktion zugewiesen wurde.
+Das Verwenden einer Funktion hat den Vorteil, dass lokale Variablen verwendet werden können, um so Konflikte zu vermeiden, wenn zwei oder mehr Hotkeys die gleichen Variablennamen für unterschiedliche Zwecke verwenden. Außerdem fördert es selbstdokumentierende Hotkeys, wie im Code oben, wo der Funktionsname den Hotkey beschreibt.
+Mit dem Hotkey-Befehl kann man auch eine Funktion oder ein Funktionsobjekt einem Hotkey zuweisen.
+