问题描述
我想在 aoutohotkey 中编写一个代码来执行此操作:如果我的字典应用程序处于活动状态,那么当我按下键“j”时,它会单击特定坐标(在该坐标中有一个打开的 Kmplayer 窗口)然后发送 Enter 然后发送 Space。这是我的代码:
#IfWinActive Oxford Advanced Learner's Dictionary
j::
If (A_ThisHotkey = A_PriorHotkey) && (A_TimeSincePriorHotkey < 500)
Click,1149,305
sleep,100
send,{Enter}
sleep,{space}
return
但它不能完美地工作。有时它可以工作,但大多数时候当我按两次“j”键时,它只是发送空格并输入。
一些细节:
-
对于打开 Kmplayer 的窗口,我没有找到比
Click,305
更好的解决方案,因为与许多应用程序不同,组合键 Alt+Esc 不会为牛津词典应用程序交换窗口。 (也许这个点击会导致问题)
解决方法
如果 if 语句的主体有多于一行,则需要 { }
s。
#IfWinActive Oxford Advanced Learner's Dictionary
j::
if (A_ThisHotkey = A_PriorHotkey && A_TimeSincePriorHotkey < 500)
{
Click,1149,305
sleep,100
send,{Enter}
sleep,{space}
}
return
不确定这是否是您唯一的问题。
我无法理解你的第二个细节想说什么。