본문 바로가기
programming language/Autohotkey

Autohotkey 강좌, 프로그램에 따라 기능이 다른 단축키 설정 #if

by 남성 2014. 7. 4.

이 글을 보고 계신 분이라면 아마도 Autohotkey 에 대해 어느정도는 알고 계신 분이겠죠~

 

저는 이제 Windows 에서는 Autohotkey 가 없으면 컴퓨터를 사용하는 게 불가능 할 정도가 되어 버렸는데요~

 

2012/02/22 - [programming language/Autohotkey] - Autohotkey를 사용해 보아요~


Windows 에서는 Launchy 와 함께 완전 필수 프로그램이 되어 버렸습니다.


2013/09/01 - [유틸] - 편리한 런치 프로그램 Launchy


2014/04/20 - [유틸] - 생산성 향상 어플 Launchy plugin 추가 방법


2014/06/12 - [programming language/Perl] - Launchy Weby Merge Perl Code

Autohotkey 를 사용해서 윈도우에서 할 수 있는 것은 거의 무한대라 할 수 있을 것 같은데요~ 아래 포스팅에서는 환경변수 설정 페이지 들어가기를 Autohotkey 로 만들어 봤습니다.


2012/03/17 - [programming language/Autohotkey] - Autohotkey 로 제어판 다루기

오늘은 프로그램에 따라 같은 단축키로 다른 기능을 실행하는 기능에 대해 설명드리겠습니다.

 

Autohotkey 에는 # 이 붙은 키워드 들이 있습니다. #If, #IfWinActive, #IfWinExist, #IfWinNotActive, #IfWinNotExist 와 같은 키워드 들이 있는데~

 

#IF 로 시작하는 키워드 들은 context-sensitive 한 단축키와 hotstring 을 만들어 줍니다. context-sensitive 란 윈도우 타이틀이나 텍스트에 따라 단축키의 기능을 달리 할 수 있다는 겁니다.

 

이렇게 설명 하면 잘… 못 알아 듣겠죠~

 

예를 들어보면~ Win + F 라는 키를 눌러서 메모장에서는 abc 라는 글자를 쓰고~ 윈도우 계산기에서는 Message Box 를 실행하는 단축키를 만들어 보고 싶다면~ 다음과 같이 하면 됩니다.

 

#IfWinActive, ahk_class Notepad ; 메모장이 활성화 되어 있을 때

#f::

Send, abc

return

 

#IfWinActive, ahk_class CalcFrame ; 계산기가 활성화 되어 있을 때

#f::

MsgBox 계산기가 활성화 돼 있습니다.

return

 

#IfWinActive

#f::

MsgBox 계산기와 메모장 이외의 프로그램이 활성화 돼 있습니다.

return

 

예제를 보니 좀 아시겠나요? 위 코드를 실행 한 후에~ 메모장을 하나 열고~ Win + F 단축키를 눌러 보면 아래 그림과 같이 abc 라는 글자가 입력되게 됩니다.

 

 

또한 계산기를 연 후에 win + f 를 눌러보면 아래 그림과 같이 계산기가 활성화 돼 있습니다. 라는 message box 가 나오게 됩니다.

 

마지막으로 계산기와 메모장 이외의 프로그램이 활성화 된 상태에서 Win + F 를 눌러보면 아래 그림과 같이 계산기와 메모장 이외의 프로그램이 활성화 돼 있습니다. 라는 Message Box 가 나오게 됩니다.

 

위 코드 예에서 주의 하실 건 맨 마지막에 #IfWinActive 후에 아무것도 안 써주면 이후의 코드들은 모든 프로그램에서 동작한다는 겁니다. 즉 위 예제 코드에서는 계산기와 메모장 이외의 프로그램이 활성화 된 경우 맨 마지막 코드 부분이 실행 된다는 것이죠~



댓글0