Autohotkey Mousebutton组合

时间:2012-11-29 18:45:54

标签: autohotkey

在Windows资源管理器中,我想执行以下操作:

当我按下并按住鼠标右键时: Autohotkey等待鼠标左键单击 运行动作

当我按但释放鼠标右键(正常右键单击)时: 运行正常的Windows对话菜单

问题在于鼠标按钮的关键状态。我弄清楚了。也许有人已经有了类似的脚本。

#IfWinActive ahk_class CabinetWClass
RButton::
Loop
{
   GetKeyState, state, RButton
   if state = D
     KeyWait, LButton, D
     send {Del}
   if state = U
     return
  }
 Click right
return

这就是我想出的。不工作:((

2 个答案:

答案 0 :(得分:1)

希望它有所帮助。

#IfWinActive ahk_class CabinetWClass
RButton::
    While GetKeyState("RButton", "P")       ; while Rbutton is held down
        if GetKeyState("LButton", "P") {        ; if Lbutton is pressed
            GoSub, LabelAction 
            Return
        }
    SendInput {RButton}
return
#IfWinActive

LabelAction:
    msgbox, 64, % A_ThisLabel, Do some actions here.
Return

答案 1 :(得分:1)

我认为我有一个更好的解决方案来解决这个问题。在我看来,它更短更清洁:

#IfWinActive ahk_class CabinetWClass

RButton & LButton::
    Send {Del} ;or do whatever you want
return

RButton::
    Send, {RButton}
return

修改

两年半后回顾这个答案我现在意识到它可能会阻止文件的右键拖动,所以这可能是一个更好的选择,但我还没有测试过:

#IfWinActive ahk_class CabinetWClass

~RButton & ~LButton::
    Send {Del} ;or do whatever you want
return