Autohotkey mit Hotkeys und Hotstrings

Autohotkey mit Hotkeys und Hotstrings

Wie erlaube ich, dass die Hotstrings durch neu zugeordnete Hotkeys ausgelöst werden, damit sie in Autohotkey funktionieren?

r::Send e
::ee::by the way

Wenn ich also rr auf der Tastatur drücke, wird „by the way“ gedruckt.

Derzeit wird dies nur gedruckt, wenn ee gedrückt wird.

HINWEIS: Ich hätte gerne eine Lösung, bei der nicht mehrere auslösende Abkürzungen zur Erweiterung derselben Zeichenfolge zugewiesen werden müssen.

Antwort1

Sie können #InputLevel verwenden, wenn Sie AHK v1.1+ verwendenhttp://ahkscript.org/docs/commands/_InputLevel.htm

::ee::by the way
#InputLevel, 1
r::Send e

Antwort2

Verwenden Sie stattdessen Folgendes:

r::Senden {ASC 0101}
::ee::übrigens
::rr::übrigens

Antwort3

Hier ist ein Code:

r::
Loop
{
    b:=GetKeyState("r")
    if (b !=1)
    {
        ccounter := 1
        Loop
        {
            c:=GetKeyState("r")
            if (c=1)
            {
                MsgBox, by the way
                return
            }
            Sleep, 50

            ccounter:= ccounter + 1

            if (ccounter = 60)
            {
                return
            }
        }
    }
}
return

rBeim zweimaligen Drücken wird ein Nachrichtenfeld „Übrigens“ angezeigt . Die Zeit zwischen den beiden rDrücken sollte jedoch maximal 3 Sekunden betragen. Sie können diese Zeit anpassen, indem Sie ändern ccounter = 60. Jeder Wert dort entspricht 50 Millisekunden (1000 Millisekunden = 1 Sekunde).

Verwenden Sie außerdem immer AutoHotkey und dessen Dokumentation vonhttp://ahkscript.org/(aktuelle, aktuelle Version, neue offizielle Website)! AutoHotkey und die dazugehörige Dokumentation von autohotkey.com sind veraltet und bei der Verwendung können möglicherweise Probleme auftreten!

Antwort4

Das wird funktionieren:

:*:rr::  
Goto ::ee  
return  
::ee::  
Send by the way  
return

verwandte Informationen