AutoHotKey

#ifwinactive & #ifwinexist 윈도우창 마다 핫키의 용도를 다르게 사용하는 방법

by 디케 posted Feb 14, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

#ifwinactive & #ifwinexist  윈도우창 마다 핫키의 용도를 다르게 사용하는 방법

참고주소 : http://www.autohotkey.com/docs/commands/_IfWinActive.htm


아래의 내용을 분석해 보자면,


메모장, 워드패드, 두 창이 아닌 다른 윈도우창 일 경우 각각 ^!C가 수행되는 결과가 다르다.

즉, ^!C( {ctrl}+{alt}+C} 의 역할이 윈도우마다 다른 결과를 보이도록 하는 것이다.




Variant (Duplicate) Hotkeys

A particular hotkey or hotstring can be defined more than once in the script if each definition has different #IfWin criteria. These are known as hotkey variants. For example:

#IfWinActive ahk_class Notepad
^!c::MsgBox You pressed Control+Alt+C in Notepad.
#IfWinActive ahk_class WordPadClass
^!c::MsgBox You pressed Control+Alt+C in WordPad.
#IfWinActive
^!c::MsgBox You pressed Control+Alt+C in a window other than Notepad/WordPad.


 


그럼 이를 조금 다르게 응용해 보자면,



첫번째는 노트패드 윈도우 창이 액티브 상황에서 ^!C( {ctrl}+{alt}+C} 핫키를 실행시키면 

You pressed Control+Alt+C in Notepad. 를 메시지 띄운 다음, 노트패드 메시지를 다시 띄운다.


두번째는 워드패드 윈도우 창이 액티브되면 바로,

You pressed Control+Alt+C in WordPad. 를 메시지 띄운 다음, 워드패드 메시지를 다시 띄운다.


세번째는 노트패드, 워드패드 이외의 창에서 ^!C( {ctrl}+{alt}+C} 핫키를 실행시키면 

You pressed Control+Alt+C in a window other than Notepad/WordPad. 를 메시지 띄운다.





#IfWinActive ahk_class Notepad

{

^!c::

MsgBox You pressed Control+Alt+C in Notepad. 

msgbox 노트패드

return

}


#IfWinActive ahk_class WordPadClass

{

MsgBox You pressed Control+Alt+C in WordPad.

msgbox 워드패드

return

}


#IfWinActive

^!c::MsgBox You pressed Control+Alt+C in a window other than Notepad/WordPad.