问题描述
我正在尝试使用计算机上的“自动热键”将代码输出发送到不活动的应用程序,因此我不必在屏幕上也可以做其他事情。我将如何实施它?
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的冗长解释。