微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试修复当我按两次键时执行功能的自动热键代码

如何解决尝试修复当我按两次键时执行功能的自动热键代码

我想在 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”键时,它只是发送空格并输入。

一些细节:

  1. 我在使用自动热键方面没有太多经验,我只是在 reddit 上找到了一个双击按键代码并使用了它。

  2. 对于打开 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

不确定这是否是您唯一的问题。
我无法理解你的第二个细节想说什么。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。