如何将输出发送到非活动窗口以获得更好的AFK? 自动热键

问题描述

我正在尝试使用计算机上的“自动热键”将代码输出发送到不活动的应用程序,因此我不必在屏幕上也可以做其他事情。我将如何实施它?

F1::
stop := 0
Loop
{
    Send,z
    Sleep 500
}until Stop
return

F2::Stop := 1

这是到目前为止我掌握的代码,有帮助吗?

解决方法

ControlSend可能有效。基本上是命中注定。它适用于某些应用程序,但不适用于某些应用程序。
不过,值得您尝试一下。

此外,您将要使用timer而不是在热键线程中循环。计时器仅用于这样的事情,由于各种原因,您正在做的事情是一种不好的做法。

;timer runs the user-defined function "SendZ" every 500ms
F1::SetTimer,SendZ,500 
F2::SetTimer,Off

SendZ()
{
    ControlSend,z,% "ahk_exe notepad.exe"
}

作为奖励,我们甚至可以编写一个可爱的衬纸来通过使用三进制来打开/关闭该计时器:
F1::SetTimer,% (Toggle:=!Toggle) ? 500 : "Off"
如果这对您没有意义,并且您有兴趣,则可以阅读我以前关于here的冗长解释。