我想创建一个 AutoHotKey 脚本来等待一个窗口并向它发送一些按键,但默认情况下按键是重复的

Rob*_*ert 5 script autohotkey

我想要一个等待特定窗口的 AutoHotKey 脚本,然后将击键发送到该窗口。但是,由于等待是在循环中完成的,因此密钥会一次又一次地发送。

假设我想等待 Windows 计算器,然后向它发送“12345”。我的第一次尝试是:

#SingleInstance force
Loop
{
WinWaitActive, Calc
{
    Send, 12345
}
Run Code Online (Sandbox Code Playgroud)

这个脚本显然一遍又一遍地发送“12345”,因为我没有跳出循环。

如果我在 send 语句之后插入一个“break”,循环会终止,但整个脚本也会终止。

处理这个的标准模式是什么?

Der*_*ler 4

我假设您想停止发送,12345直到再次激活该窗口(或另一个同名的窗口)。所以使用WinWaitNotActive

#SingleInstance force
Loop
{
WinWaitActive, Calc
{
    Send, 12345
    WinWaitNotActive, Calc
}
Run Code Online (Sandbox Code Playgroud)