为什么我的自动热键脚本无法正常工作?

时间:2020-09-01 20:05:09

标签: autohotkey

我将AutoHotkey用于Windows。我想编写一个脚本,以便使用鼠标中键单击(我之前复制的文本)粘贴到计算机上程序牛津词典的搜索栏中。并且在关闭程序窗口时,单击鼠标中键后,会自动打开窗口并执行我想要的相同操作(将复制的单词粘贴到程序的搜索栏中)。我写这段代码:

MButton::
IfWinExist, Oxford Advanced Learner's Dictionary
{
   WinActivate
   Click, 182, 133, 2
   Send, ^a{Delete}
   sleep, 100
   Send, ^v{Enter}
}
else
{   
   Run, "E:\dictionary oxford\OALD9.exe"
   WinActivate, Oxford Advanced Learner's Dictionary
   sleep, 500
   Click, 182, 133, 2
   Send, ^a{Delete}
   sleep, 100
   Send, ^v{Enter}
}   
return

运行代码时,它只是执行我想要的第一个任务。打开时,它将粘贴到“牛津词典”的搜索栏中。但是当它关​​闭时,单击鼠标中键后,它只是打开程序,而没有将单词粘贴到搜索栏中。

1 个答案:

答案 0 :(得分:1)

WinWait是您的朋友。 Documentation

MButton::
IfWinExist, Oxford Advanced Learner's Dictionary
{
   WinActivate
   Click, 182, 133, 2
   Send, ^a{Delete}
   Sleep, 100
   Send, ^v{Enter}
}
else
{   
   Run, "E:\dictionary oxford\OALD9.exe"
   WinWait, Oxford Advanced Learner's Dictionary,,4
   WinActivate, Oxford Advanced Learner's Dictionary
   Sleep, 500
   Click, 182, 133, 2
   Send, ^a{Delete}
   Sleep, 100
   Send, ^v{Enter}
}   
return

编辑:您可能还需要考虑RunWait。 Documentation