2012-11-29 55 views
0

在Windows資源管理器我要做到以下幾點:AutoHotkey的Mousebutton組合

當我按下並保持鼠標右鍵: 鼠標左AutoHotkey的等待點擊 運行動作

當我按下down 但發佈鼠標右鍵(正常的右鍵單擊): 運行正常的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 

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

回答

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 
+0

工程就像一個魅力。謝謝你 – andibra

+0

也許只是一件事。到目前爲止,我需要先在腳本之前用左鍵單擊資源管理器中的文件。你能想到的辦法文件只需將鼠標懸停,然後用鼠標右鍵單擊運行該腳本,它也標誌着在刪除之前的文件? – andibra

+0

對不起。它實際上是這樣;)我的壞 – andibra

1

我認爲我有這個問題有點更好的解決方案這是在我看來更短和更清潔的:。

#IfWinActive ahk_class CabinetWClass 

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

RButton:: 
    Send, {RButton} 
return 

編輯:

這個答案回首兩年半後,我現在已經意識到,它可能阻止文件的右鍵拖動,因此T他可能是一個更好的選擇,但我沒有測試它:

#IfWinActive ahk_class CabinetWClass 

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