1

语言:Win7上的自动热键

“Shift”加“鼠标右键”加“鼠标滚轮”

我希望我的热键同时按住这三个键。我尝试了以下但没有成功

+ & rbutton & wheelup:: 
send 6

+rbutton & wheelup::
send 6


shift & rbutton & wheelup::
send 6

当我尝试制作此热键时,我总是遇到错误,有人知道该怎么做吗?

4

2 回答 2

1

我仍然是新手,但我会尽力帮助=]。

当您使用带有两个鼠标按钮的修饰键时,它似乎不起作用,所以这是一种有效的方式:

+WheelUp::
KeyWait, RButton, D    ; Waits for RButton to be pressed down.
MsgBox, This works!
Return

问题是一旦热键运行,它就会单击(或释放)鼠标右键。如果你改为这样说:

+RButton::
KeyWait, WheelUp, D

还有一个问题是它在第一次使用热键时可以正常工作,从那时起它只会使用 Shift + 鼠标右键,因为它已经等待 WheelUp 被按下(或者更确切地说是向上滚动)。

我用GetKeyState之类的东西弄了一点,但仍然是新手,我找不到解决它的方法xD。这些可能足以满足您现在的需要,否则最好等待更有知识的人发布。

于 2013-03-31T03:39:48.420 回答
1

根据您评论中的信息(按住 Shift+right 和垃圾邮件 WheelUp),以下解决方案可以正常工作。使用 Shift + WheelUp 并检查鼠标右键是否向下。

+WheelUp::
    if (GetKeyState("RButton", "P"))
        send 6
    else
        send +{WheelUp}
return

您可以删除 else 部分并添加~修饰符,但是即使您不按鼠标右键,AHK 也会捕获并阻止 Shift + WheelUp。

于 2015-11-27T21:57:01.520 回答