0

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

当我按住鼠标右键时:Autohotkey Wait for Mouse-Left click Run Action

当我按下但释放鼠标右键(正常右键单击)时:运行正常的 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

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

4

2 回答 2

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
于 2012-11-29T19:24:34.230 回答
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
于 2015-03-24T22:30:24.220 回答