Ich möchte ein AutoHotKey-Skript erstellen, das auf ein Fenster wartet und einige Tastenanschläge an dieses sendet, aber die Tastenanschläge werden standardmäßig wiederholt

Ich möchte ein AutoHotKey-Skript erstellen, das auf ein Fenster wartet und einige Tastenanschläge an dieses sendet, aber die Tastenanschläge werden standardmäßig wiederholt

Ich möchte ein AutoHotKey-Skript, das auf ein bestimmtes Fenster wartet und dann Tastenanschläge an dieses Fenster sendet. Da das Warten jedoch in einer Schleife erfolgt, werden die Tasten immer wieder gesendet.

Angenommen, ich möchte auf den Windows-Rechner warten und ihm dann „12345“ senden. Mein erster Versuch war:

#SingleInstance force
Loop
{
WinWaitActive, Calc
{
    Send, 12345
}

Dieses Skript sendet offensichtlich immer wieder „12345“, da ich nicht aus der Schleife ausbreche.

Wenn ich nach der Sendeanweisung ein „Break“ einfüge, wird nicht nur die Schleife beendet, sondern auch das gesamte Skript.

Was ist das Standardmuster für den Umgang damit?

Antwort1

Ich gehe davon aus, dass Sie das Senden stoppen möchten 12345, bis Sie das Fenster erneut aktivieren (oder ein anderes Fenster mit demselben Namen). Verwenden Sie alsoWinWaitNotActive

#SingleInstance force
Loop
{
WinWaitActive, Calc
{
    Send, 12345
    WinWaitNotActive, Calc
}

verwandte Informationen