Autohotkey application-specific hotkeys

别来无恙 提交于 2019-12-01 01:58:43

问题


I am a newbie to Autohotkey, and I can't figure this out despite reading through this site and the official documentation.

I just want to have certain hotkeys work only with certain applications. So for example, if I press spacebar in a certain game I want it to send ` (grave), but if I'm not in that game I want spacebar to function normally. Everything I try seems to make spacebar do nothing when I'm not in game. I can try using an "else" statement to send the spacebar, but that just seems to make an infinite loop. Help!

EDIT: Thank you NbdNnm. Here's exactly what ended up working for me:

#IfWinActive League of Legends (TM) Client
Space:: `
#IfWinActive


回答1:


Try this and make sure you have the latest version of AutoHotkey. Put the application process name in the strYourAppExeName variable and put your hotkey definitions in the #if block.

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

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


来源:https://stackoverflow.com/questions/13502467/autohotkey-application-specific-hotkeys

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!