【发布时间】:2015-05-01 09:18:16
【问题描述】:
我的脚本有问题,我不明白为什么它没有按我想要的方式工作。
我想要什么:当我向上使用鼠标滚轮时,我希望它使用我的健康瓶,或者向键盘发送一次“1键”,当我向下使用鼠标滚轮时,我希望它使用我的水银瓶(发送一次键盘'key 5'),但是发生了什么,它是重复的,所以它不是使用一次烧瓶,而是使用整个烧瓶,或者更确切地说它击中键盘键 1 或 5 几次,它的自动重复.
我的问题是:如何使用发送命令阻止它重复,因为在应用程序中,如果我按住 1 或 5 它不会自动重复,我必须再次单击它。所以发送命令是自动重复的,我不希望它这样做。
我想可能是因为当我向下或向上滚动鼠标滚轮时它会多次执行,但是当我在鼠标控制面板的窗口中将它设置为 1 时,它没有帮助。
这是我的脚本,我认为它很简单......
#IfWinActive Path of Exile
WheelUp::Send {1}
WheelDown::Send {5}
在我尝试使用发送命令之前,我尝试过使用这个脚本:
#IfWinActive Path of Exile
WheelUp::1
WheelDown::5
而且这个脚本在应用程序中根本不起作用......但如果我不使用#IfWinActive 行,它可以在应用程序之外工作。
任何帮助将不胜感激。
【问题讨论】:
-
afaik,你不需要
{}。 // 你确定你的鼠标没有多次触发热键吗?您可以通过在每次热键触发后递增全局计数器来检查它,并使用第三个热键或通过脚本主窗口(任务栏双击)检索其值。如果您确定,您可以尝试使用sendEvent或sendRaw,而不是默认为sendPlay的普通Send,除非另有说明。我不知道任何其他解决方案 -
我认为是我的鼠标过于敏感,因为如果我真的很努力不要过度滑动滚轮,它只会使用一次。
-
@Blauhirn 没关系,我自己想出来的,不确定这是否是最好的方法,但这是有效的方法:#IfWinActive Path of Exile WheelUp:: Send, {1 down} Sleep 5000 发送,{1 向上} 返回 WheelDown:: 发送,{5 向下} 睡眠 5000 发送,{5 向上} 返回
-
很高兴它成功了。您应该将其发布为答案并接受您的答案。如果其他人有类似的问题,我也会发布另一个想法
标签: autohotkey