2012-11-21 93 views
4

我是Autohotkey的新手,儘管通過閱讀本網站和官方文檔,我無法弄清楚這一點。Autohotkey應用程序特定的熱鍵

我只想讓某些熱鍵只適用於某些應用程序。例如,如果我在特定的遊戲中按空格鍵,我希望它發送`(墳墓),但如果我不在那個遊戲中,我希望空格鍵正常工作。當我不在遊戲中時,我所嘗試的一切似乎都會讓空格鍵不做任何事情。我可以嘗試使用「else」語句來發送空格鍵,但這似乎只是一個無限循環。幫幫我!

編輯:謝謝NbdNnm。這也正是結束了對我的工作:

傳奇#IfWinActive聯盟(TM)客戶
空間::`
#IfWinActive

+0

您應該可以將代碼更改爲'#IfWinActive League of Legends'。默認的標題匹配模式並不需要完全匹配,所以如果他們將內部版本號添加到標題中,「(TM)客戶端」可能是一種責任,例如「英雄聯盟v1.001客戶端」 – Nelson

回答

4

試試這個,請確保您有最新版本的AutoHotkey的。將應用程序進程名稱放入strYourAppExeName變量中,並將熱鍵定義放入#if塊中。

strYourAppExeName := "notepad.exe" 
strYourMessage := "``(grave)" 

#If WinActive("ahk_exe " strYourAppExeName) 
    Space::SendInput, % strYourMessage 
#if 
+0

內置Window Spy實用程序可用於確定應用程序名稱或ahk_class。查看AutoKey幫助主題「IfWinActive/IfWinNotActive」也可能有用。 –