在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
这就是我想出的。不工作:((
答案 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