2013-12-17 59 views
0

我想生產這樣的東西: 1.當我按Esc 2次(雙)我想生產我的「made-自定義動作」 2.當我按下Esc鍵1次我要出示原件逃生雙擊相同的快捷鍵而不改變原有的1時,避免循環按下快捷鍵功能(Autohotkey)

好吧,這裏是我的問題的解釋:

  • 此代碼應適用於全球,是指當我啓動腳本它將在所有窗口上工作
  • %ALAT1%是可變的Active Windows標題,縮寫「Anime Land Akui Transform」某種愚蠢的動漫遊戲
  • 如果我按Esc一次。它會「暫停」遊戲,但是當我按Esc 2次,它會「退出」遊戲「
  • 我想按自定義操作按Esc 2次,但我也不想原來Esc鍵功能得到了覆蓋,當我按下1次

    Escape:: 
    if (A_PriorHotkey = A_ThisHotKey and A_TimeSincePriorHotkey < 400) 
    WinActivate, %ALAT1% 
    IfWinActive, ahk_class TscShellContainerClass 
    { 
    Send {F5} ; F5 contains another action 
    }. 
    else 
    { 
    *Do original function of Escape i.e Send {Escape}  ; Now this is the problem  
    } 
    return 
    

後,我嘗試上面的代碼:假設我按「Escape」按鈕,它就會循環退出,如果我按Escape 2次,我真正的問題是如何讓「原來1次按Esc鍵功能」不會循環到「我們自定義2次按Esc鍵功能」?

+0

我認爲你應該閱讀AHK的基礎知識,[command docs](http://l.autohotkey.net/docs/commands/)通常是一個很好的起點。您的代碼非常混亂,例如'if(...)'語句只會影響下面的行,並且由於既沒有[block](http://l.autohotkey.net/docs/commands/Block.htm)也沒有縮進,它全部是猜謎遊戲。你也從來沒有提到你想要區分窗口,而'ALAT1'的內容是未知的。我建議你先閱讀[#IfWin ..](http://l.autohotkey.net/docs/commands/_IfWinActive.htm)文檔。 – MCL

+0

@MCL eerrr我編輯的問題,錯誤我不會需要#IfWinActive,如果我只是想產生全球行動。 – laruffii

回答

1

C將代碼的第一行提交給;

$Escape:: 

這將設置它,以便熱鍵僅由真正的擊鍵觸發而不是模擬觸發。

+0

感謝你的隊友,現在它可以工作 – laruffii