下面的脚本工作正常。
每4秒发送一次鼠标点击 到金山作家。 但是当我将Timer长度更改为-4000时 而不是4000,以便计时器只运行一次 该脚本甚至不再有效。 我无法再发送鼠标点击 金山作家。 我做错了什么?
#Persistent
#SingleInstance
SetTimer, CheckApp, 4000
Return
CheckApp:
IfWinActive, ahk_class QWidget
{
sleep 2000
Click 486, 15
Click 570, 93
}
Return
答案 0 :(得分:3)
在我回答这个问题之前。你是否愿意回到上一个问题并在那里标记答案,点击白色复选标记将其变为绿色。
我曾经尝试过负值并且对结果不满意,所以我决定总是关闭计时器而不是使用负值。
#Persistent
#SingleInstance
SetTimer, CheckApp, 4000
Return
CheckApp:
IfWinActive, ahk_class QWidget
{
SetTimer, CheckApp, Off
Click 486, 15
Click 570, 93
}
Return
我删除了你的睡眠,2000。添加这个睡眠命令会阻止50%的时间(睡眠50%)并且没有任何用处。它甚至使得另一个应用程序在2秒内更大程度地窃取焦点的机会,因此鼠标点击可以转到另一个应用程序...... 您是否必须使用鼠标单击或是否可以使用键盘快捷键。当菜单移动或扩展/收缩时,鼠标位置往往不可靠。
#Persistent
#SingleInstance
Return ; Prevent the [Win]+w from executing on startup of script.
#w:: ; [Win]+w launches PolyEdit, waits for window and sends two mouse clicks.
Run, path to the PolyEdit window.exe
WinWaitActive, ahk_class QWidget
Sleep, 1000
Click 486, 15
Click 570, 93
Return
现在您可以将ahk脚本放在Windows开始菜单中,并通过[Win] + w(或您定义的任何其他键...)启动PolyEdit。
不确定为什么要这样做,因为启动应用程序会执行操作(单击图标或按快捷键),这可用于触发脚本。现在你必须不断在后台运行检查。你可以创建一个看起来像KingSoft的图标,但实际上是一个ahk脚本。
但是你走了!
#Persistent
#SingleInstance
SetTimer, CheckApp, 400
Return
InitiateKS := true
CheckApp:
IfWinExist, ahk_class QWidget
{
If InitiateKS
{
InitiateKS := false
WinActivate, ahk_class QWidget
TrayTip, KingSoft, Started, 1
;Click 486, 15
;Click 570, 93
}
}
Else ; if no KingSoft is running
{
InitiateKS := true
}
Return