在我回答这个问题之前。请您返回上一个问题并标记您收到的答案,方法是单击白色复选标记将其变为绿色。
我曾经尝试过负值,但对结果不满意,所以我决定总是关闭计时器,而不是使用负值。
#Persistent
#SingleInstance
SetTimer, CheckApp, 4000
Return
CheckApp:
IfWinActive, ahk_class QWidget
{
SetTimer, CheckApp, Off
Click 486, 15
Click 570, 93
}
Return
我删除了您的 Sleep, 2000。添加此 sleep 命令会阻止 ahk 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
更新 2
不确定您为什么要这样做,因为启动应用程序需要执行一个操作(单击图标或按下快捷方式),该操作可用于触发脚本。现在你必须不断地在后台运行检查。您可以创建一个看起来像金山软件的图标,但实际上是一个 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