![Autohotkey mit Hotkeys und Hotstrings](https://rvso.com/image/1421892/Autohotkey%20mit%20Hotkeys%20und%20Hotstrings.png)
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