메뉴 건너뛰기

이슈 컴퓨터 초보도 단축키을 이용하여 컴퓨터 편리하게 사용하기.JPG (스압주의)
11,737 108
2017.02.21 23:37
11,737 108

oIrIhwR.gif


shtg8Rg.gif


오늘은 이런거 할 것임


그런데 지금까지 설명했던 프로그램들처럼 마우스로 몇 번 클릭해서 하는게 아니라 코딩을 할 것임



LlWZb

물론 코딩하면 일단 사진처럼 뭐가 뭔지 한글로 설명해도 이게 한글로 쓴 거 맞나 싶을 정도로 정체 모를 외계어의 나열을 생각하는데 그런거 였으면 


나도 이런 글을 못 씀,한 마디로 쉬워서 프로그래밍을 전혀 할 줄 모르는 컴덬도 30분에서 한 두 시간이면 사진처럼 할 수 있다는 뜻


물론 문과도 가능함




ItXjx

이모 삼촌은 GW 베이직을 해봤으므로 더 빠르게 습득할 수 있다.-_-

본문의 내용은 GW 베이직보다 훨씬 쉽다.





목차 

오토핫키의 소개 및 장단점 , 오토핫키 다운 및 설치 , 오토핫키 원리의 이해 , 기초 스크립트의 이해


CapsLock , ScrollLock , NumLock 키를 항상 비활성화 혹은 활성화시키는 방법 , CapsLock , NumLock 키 입력시 확인 메세지 나오는 방법 


스크립트 사용시 및 단축키 입력할 때 주의할 점 , 기초 스크립트 설명 


단축키로 프로그램 실행 및 사이트 접속 및 상용구 입력 , 축약어로 텍스트 치환 및 프로그램 실행하는 방법 


대기 및 종료 스크립트 , Win키,F1키등의 작동을 일시적으로 멈추는 방법 


오토핫키 아이콘의 우클릭 메뉴를 단축키로 조작하는 방법 , 특정 창 제목에서만 단축키가 실행되도록 하는 방법 


프로그램을 휠 클릭해서 종료하는 방법 , 키보드 + 마우스 조합으로 프로그램을 실행하는 방법 


단축키로 볼륨 조절하는 방법 , 작업 표시줄에서 볼륨 조절 및 특정 프로그램 실행하는 방법 


단축키로 시스템 종료 및 재부팅,절전하는 방법 , 키보드 + 마우스 조합으로 가로 스크롤바를 움직이는 방법


창 제목을 클릭하지 않고 창 이동하는 방법 , 단축키를 누를 때 마다 특정 메세지가 뜨는 방법


선택한 텍스트를 단축키로 검색 엔진 혹은 다수 검색엔진에서 검색하는 방법 , 단축키로 현재 창을 창 항상 위 및 투명도 설정하는 방법


단축키로 현재 창의 위치와 크기를 변경하는 방법 , 단축키로 현재 창을 최소화,이전 크기,최대화하는 방법


단축키로 현재 실행중인 모든 프로그램의 창 위치와 크기를 변경하는 방법 , 단축키로 여러 프로그램을 실행하면서 자동으로 창 위치와 크기를 변경하는 방법


단축키로 같은 프로그램 2개 이상을 실행하면서 자동으로 창 위치와 크기를 변경하는 방법 


단축키로 모니터를 끄는 방법 , 단축키로 프로그램을 활성화시키는 방법 , 같은 단축키로 프로그램을 실행하거나 종료하는 방법


단축키 및 축약어로 현재 날짜 및 시간 입력하는 방법 , 단축키로 선택한 파일 및 폴더의 파일 경로를 복사하는 방법


마지막 Easy Context Menu를 이용해서 컴퓨터 잠금 , 메모리 정리 , 임시폴더 삭제등을 하는 방법 



단축키 만능 프로그램 오토핫키


http://theqoo.net/367685916 (공짜로 3버튼을 5버튼,5버튼을 7버튼 마우스,다기능 마우스로 만드는 방법.JPG)


예전에 설명한 오토핫키 내용보다 훨씬 쉽게 보다 자세하게 설명하였고 그 밖에 여러 스크립트들을 추가하였으니


이 글로 오토핫키를 처음 사용할 컴덬은 예전 글을 볼 필요가 없다.




처음부터 엑셀이나 포토샵을 잘 하는 컴덬은 별로 없듯이 오토핫키도 일단 따라해봐야 이해하고 원리를 알 수 있다.


수영장에서 발차기부터 해야 자유형을 배운다.


아까 이야기했듯이 쉬우니 미리 겁먹지 말자.



오토핫키의 장점



1.메모장으로 텍스트만 입력하고 수정해서 바로 사용할 수 있다.


2.프로그래밍을 모르는 컴덬도 바로 쉽게 사용할 수 있을 정도로 스크립트 구문이 쉽다. 즉 스크립트 언어 프로그램중에서 제일 쉽다.


tsqAz

3.강력한 기능에 비해 컴퓨터 리소스 소모율은 매우 적다.아무리 좋은 프로그램이더라도 무거우면 사용 할 수 없다.


4.공용 컴퓨터에서 단축키를 변경하면 다른 사용자는 반대로 불편할 수 있는데 필요한 경우 오토핫키는 잠시 사용 중지할 수 있다.


5.윈도우 기본 단축키나 단축키를 변경할 수 없는 프로그램도 다른 단축키로 변경하여 편하게 이용할 수 있다.


원한다면 복사 단축키인 Ctrl+C를 F1만 눌러서, 3개의 키를 눌러야 실행되는 작업관리자 단축키(Ctrl+Shift+ESC)를 F2키만 눌러서 사용할 수도 있다.


6.회사에서도 사용 가능한 프리웨어, 즉 무료 프로그램



오토핫키의 단점


1.오토핫키만의 단점은 아니지만 단축키만을 이용하기 때문에 엄청나게 많은 단축키를 등록한 경우 몇 개는 잊어버려서 실제로 사용하기 어려운 경우도 있다.


기억하기 쉬운 적절한 단축키 설정이 필요하다.물론 오토핫키로 마우스를 이용하는 GUI 메뉴를 만드는 것도 가능하긴 하다.


본인은 가끔 사용하는 단축키 몇 개는 포스트잇에 적어서 모니터 위에 붙여놓았다.


2.이건 큰 단점은 아니지만 스크립트에 따라 메모장 맨 위나 맨 아래쪽에 입력해야 잘 작동하는 경우가 있다.


3.이것도 큰 단점은 아니지만 윈도우 비스타 이전 구 운영체제 사용시에는 오토핫키의 일부 기능이 잘 작동되지 않는다.


4.일부 키는 일반적인 방법으로는 변경할 수 없다. 스캔코드가 없는 FN키 , Alt + Ctrl + Delete , Alt + TAB (윈도우 구버전은 가능) ,


Win + L (윈도우 잠금 화면,레지스트리삭제시 변경 가능),Ctrl+ 휠 업 및 다운 (브라우저 확대 및 축소 기능과 겹칩)





1.오토핫키 다운 및 설치





POEtb


https://autohotkey.com/download


위의 홈페이지에 접속하면 설치 버전과 무설치 버전이 있는데


AU3_Spy.exe가 들어 있는 설치 버전을 받는다. AU3_Spy.exe는 특정 프로그램의 창 정보를 보는 프로그램인데 이번에 설명할 오토핫키 사용에는 필수라고 할 수 있다.


무설치 버전에는 AU3_Spy.exe라는 파일이 없고 대신 ActiveWindowInfo.ahk라는 파일이 있는데 오토핫키 아이콘을 통해서 불러 올 수 없고


아이콘도 중복으로 나와서 헷갈린다.변경하면 되긴 하지만 그리고 AU3_Spy.exe의 기능을 대체하는 파일도 따로 인터넷에 있는데 초보한테는 별로 필요없는 파일이다.


아무튼 기존 무설치 버전 사용자는 설치 버전을 다운받아서 설치후 AU3_Spy.exe 파일만 기존 무설지 버전에 이동시키고


다시 오토핫키 설치 파일을 실행하여 언인스톨만 하고 설치 파일을 삭제하면 된다.



XkNQM


사이트에 접속하면 파란색 버튼을 클릭해서 설치 버전을 받고 실행한다.


실행과 동시에 위 버튼을 클릭해서 설치를 시작한다.


hfDuN


바로 설치가 끝나는데 아무것도 클릭하지 말고 종료한다.설치 파일은 아직 지우지 않는다.


오토핫키를 지금 바로 실행하면 어차피 영어로 된 메뉴얼만 나온다.


lWXAz



탐색기로 C:\Program Files\AutoHotkey 폴더에 가보면(32비트 운영체제를 사용하고 있다면 설치 폴더가 아마도 C:\Program Files (x86)일 것이다.)


사진처럼 3개의 파일만 임의의 폴더를 만들어서 이동시킨다.다른 컴퓨터에서도 내가 설정한 오토핫키를 사용하고 싶다면 저 파일만 다른 컴퓨터에 복사하면 된다.


물론 설치버전을 지우지 않고 그냥 사용할 거라면 다른 폴더에 이동할 필요는 없다.


manDv

AU3_Spy.exe 파일을 제외하고 2개의 파일 이름은 실행파일에 맞추던가 임의의 이름으로 동일하게 변경하자.


이제 AU3_Spy.exe 파일을 사용할 수 있는 무설치 버전이 되었다.나중에 스크립트를 어느 정도 완성하게 되면 따로 백업해두자.



ttZYX

다시 설치파일을 실행하여 언인스톨을 클릭하여 제거하고 설치 파일도 필요없으니 삭제한다.


물론 언인스톨해도 설치 폴더만 제거되고 무설치 버전은 다른 폴더에 있기때문에 삭제는 안 된다.



그 밖에 scite4ahk 같은 스크립트 편집기도 있는데 그냥 메모장으로 입력해도 된다.


mJCRy


오토핫키 실행 파일을 우클릭해서 속성을 클릭한 후 사진을 참고하여  항상 관리자 권한으로 실행되게 해야 일부 스크립트의 오작동을 막을 수 있다.



Win + R 을 눌러서 실행창을 열고 shell:startup를 입력하면 탐색기에 시작 프로그램 폴더가 열리는데 그 곳에 오토핫키 실행 파일의 바로가기를 이동시키자.


만약 부팅시 자동으로 시작이 안 되면 작업 스케줄러를 이용해야 한다.


Win + R 을 눌러서 실행창을 열고 taskschd.msc를 입력하면(혹은 제어판-관리도구-작업 스케줄러순으로 클릭) 작업 스케줄러 창이 뜬다.


Lgrbo


항상 관리자 권한으로 실행하는 프로그램의 경우 부팅시 자동으로 시작이 안 되면 작업 스케줄러를 이용하자








2.오토핫키 원리의 이해



그냥 실행하면 아까 말했듯이 영어로 된 메뉴얼만 뜨고 트레이에 아이콘도 안 생긴다.



Mzphs


파일 이름을 변경한 AHK 파일을 메모장으로 연다.그리고 Ctrl+A를 눌러서 입력되어 있는 텍스트를 모두 선택후 지워버리자.


사진을 참고하여 #d::Send ^+{ESC}를 복사하여 메모장에 붙이고 저장한다.이 정체 불명의 텍스트를 스크립트라고 부른다.


이제 오토핫키를 실행하면 트레이에도 아이콘이 생긴다.이 상태에서 바탕화면 바로가기 단축키인 Win+D를 눌러보자


바탕화면에 가지 않고 작업관리자가 실행될 것이다.


JOpMS

이제 오토핫키 아이콘을 우클릭하면 여러가지 메뉴가 있는데 Edit This Script를 클릭한다.

KBKBz

이 메뉴를 클릭하면 AHK 파일을 탐색기에서 찾아서 클릭하지 않고 바로 열 수 있다.


그리고 아까 입력했던 스크립트를 지우고 사진을 참고하여 이번엔 #d:: run mspaint를 복사해서 붙이고 저장한다.


이 상태에서 다시 Win+D를 실행하면 그림판 대신 작업관리자가 실행된다.


스크립트를 입력 및 저장만 하고 스크립트를 읽지 않았기 때문이다.



JOpMS


다시 오토핫키 아이콘을 우클릭한 후 메뉴중 Reload This Script를 클릭하면 수정한 스크립트를 다시 읽는다.이제 다시 Win+D를 누르면 그림판이 실행된다.


스크립트를 수정하면 스크립트를 다시 읽어서 단축키를 눌러서 스크립트 결과를 확인한다.


이것이 오토핫키의 기본 원리이다.


Window Spy는 창의 정보를 알아내는 프로그램으로 아까 설명했던 AU3_Spy.exe가 같은 폴더에 있어야 실행이 된다.


이 프로그램은 밑에서 설명한다.


Suspend Hotkeys 오토핫키를 잠시 사용하지 않을 때 중지한다.


Pause Script 오토핫키로 컴퓨터 작업중일 때 클릭하면 자동 작업이 중지된다.


Exit 오토핫키를 종료한다.


물론 오토핫키 우클릭시 뜨는 메뉴도 수동으로 일일히 클릭하지 않고 단축키로만 실행할 수 있다.


역시 밑에서 설명한다.



스크립트 저장시 나오는 에러 메세지


스크립트를 입력하기전에 몇 가지 에러 메세지를 알아보자


tAqUp

일본어나 한글 입력후 저장시 문자가 깨질 수 있다는 메세지가 나면 저장시에 UTF-8로 인코딩 형식을 변경해서 저장하면 된다.


ZKHAT

스크립트를 잘못 입력한 경우 오토핫키에서는 친절하게 알려준다.


위에서부터 메모장의 라인 수(몇 번째 줄인지) , 잘못 입력한 스크립트의 내용 , 에러 메세지의 이유이다.


Invalid hotkey는 잘못 입력한 단축키라는 뜻


usskn


메모장의 보기 메뉴를 통해 상태 표시줄에 체크해야 메모장 하단에서 라인 수를 확인 할 수 있다.


BUfTd

단축키가 중복이라는 뜻 , 다른 키로 변경하자..





3.기초 스크립트의 이해


오토핫키의 기초로 현재 설명하는 3번 내용을 이해해야 오토핫키를 사용할 수 있다. 


유치원에 가면 처음에 덧셈을 배우는데 1+1=2 , 2+3=5라는 공식이 있듯이 오토핫키에도 공식이 있다.


#d::Send ^+{ESC}


제일 처음 입력했던 스크립트를 기억하는가? 아까 Win+D키를 눌렀더니 작업관리자가 실행된 것을 확인하였다.


잘 알다시피 바탕화면 바로가기 단축키는 Win+D이고 작업관리자의 단축키는 Ctrl+Shift+ESC이다.


그럼 d와 ESC는 알겠는데 #와 ^+,Send는 무엇인가? 일단 #와 ^+는 Ctrl,Alt,Shift,Win키를 오토핫키가 인식하는 약어로 쓴 것이다.


즉 Win +D를 약어 그대로 #d , Ctrl+Shift+ESC를 약어 그대로 ^+{ESC}로 적은 것이다.



Ctrl은 ^

Alt은 !

Shift는 +

Win는 #


로 오토핫키에서 표현한다.


Ctrl + 1이면 ^1 , Alt + 2이면 !2 , Shift + 3이면 +3 , Win + 4 이면 #4



이제 ::Send를 이해해야 한다.


여기서 #d는 내가 눌렀던 단축키이고 ^+{ESC}는 컴퓨터가 누른 단축키이다.


위에서 이야기했던 1+1=2 


오토핫키를 덧셈에 대입해보면 #d는 덧셈에서 1+1 부분 , 중간에 있는 :: 기호는 덧셈에서 = , Send ^+{ESC}가 덧셈의 2 부분이 되는 것이다.


즉 Send라는 명령어는 내가 이 단축키를 누르면 컴퓨터한테 이 단축키를 누르라는 명령어이다.


:: 는 그 사이를 구분하는 기호로 생각하면 편하다.이제 Send ^+{ESC}가 무슨 뜻인지 알 것이다.



^d::Send #d


^d::Sendinput #d


방금 Send를 설명하였는데 Sendinput라는 스크립트도 있다.


차이점은 Send보다는 Sendinput가 단축키를 눌렀을 때 더 빨리 반응하는 것으로 별 차이는 못 느낀다.


그리고 Sendinput는 일일히 입력하기 힘든데 다행히도 오토핫키에서는 Send를 Sendinput로 모두 자동 적용해주는 것을 지원한다.


gAIpq

메모장 제일 첫 줄에 SendMode Input를 입력하면 밑의 스크립트에 모두 Send라고 적어도 Sendinput로 자동 인식한다.


즉 Send = Sendinput로 봐도 무방하다.



{ESC}에서 알 수 있듯이 특수키 입력은 그냥 입력하지 않고 {}(중괄호)로 입력해야 한다.단 Send 입력시에만 적는 것이다.


예제


^h::send +{f2}


Ctrl + H키를 누르면 Shift + f2키를 누른다.


F3::CapsLock


F3키를 누르면 CapsLock키를 누른다.


여기서 CapsLock는 Send가 없기 때문에 중괄호를 입력하지 않았다.


특수키::특수키일 경우에는 Send 입력이 필요없다.




특수키인 경우 {}의 입력에 따라 차이가 있고 그냥 단축키인 경우 대소문자의 차이가 있다.


Send {Enter}는 엔터키 입력이고 Send Enter는 빈 칸에 Enter라는 텍스트를 자동으로 입력한다.


Send #d는 바탕화면 바로가기이고 Send #D는 약어를 무시하고 빈 칸에 D라는 텍스트를 자동으로 입력한다.Send d와 같은 셈


쉽게 이야기해서 일반적으로 스크립트는 소문자로만 적고 특수키는 {}(중괄호)로 입력만 하면 된다.


단축키에 주로 사용하는 키는 A-Z,1-0 , {F1} - {F12} , Ctrl , Shift , Alt , Win뿐이고 나머지는 거의 안 쓰기 때문에 참고만 하도록


{F1} - {F12} 

{ENTER} {SPACE} {TAB}

{ESCAPE} or {ESC}  

{BACKSPACE} or {BS}

{DELETE} or {DEL} {INSERT} or {INS}

{UP} {DOWN} {LEFT} {RIGHT} 

{HOME} {END} {PGUP} {PGDN} 

{APPSKEY} or +{F10}  (Shift + F10키를 누르면 우클릭시 나오는 메뉴의 단축키)

{PRINTSCREEN} {CtrlBreak} {Pause}

{LALT} {RALT} {LCTRL} {RCTRL} {LSHIFT} {RSHIFT} {LWIN} {RWIN}  (양쪽에 둘 다 있는 키,한 키만 적용할 때 사용)

{vk15} or {vk15sc138} 한영키 {vk19} or {vk19sc11d} 한자키 

{CAPSLOCK} {ScrollLock} {NumLock} 

{Numpad0} - {Numpad9} 

{NumpadIns} {NumpadHome} {NumpadEnd} {NumpadPgUp} {NumpadPgDn}{NumpadUp}{NumpadDown}{NumpadLeft}{NumpadRight}{NumpadEnter}

{NumpadDiv}   Num LK키의 /

{NumpadAdd}  Num LK키의 +

{NumpadSub}  Num LK키의 -

{NumpadDel} Num LK키가 On일 때의 Del

{NumpadDot} Num LK키가 Off일 때의 .

{Browser_Back} {Browser_Forward} {Browser_Refresh} {Browser_Stop} {Browser_Search} 브라우저 뒤로가기,앞으로가기,새로고침,정지,주소창 



예제


^1::send 안녕.{TAB}더쿠{Enter}여기는 스퀘어방이고{TAB}난 무명의 더쿠~


uvjfD

빈 칸에서 Ctrl + 1 키를 누르면 안녕. Tab키를 누르고 더쿠 Enter키를 누르고 여기는 스퀘어방이고 Tab키를 누르고 난 무명의 더쿠~를 자동 입력한다.


 


%의 경우 % , {%} 둘 다 안 되고 자동 문자 입력에 필요한 경우에는 Shift+5키를 누르면 %가 입력되는 것을 활용하면 된다.


예제


^1::Send 100+5


빈 칸에서 Ctrl + 1 키를 누르면 100%를 자동 입력한다.



키매핑 예제


Ctrl::Alt

Alt::Ctrl


Ctrl 키와 Alt 키의 위치를 변경해서 사용한다.이 경우 Alt + C 키를 눌러야 복사가 된다.


CapsLock::Ctrl

Ctrl::CapsLock


Ctrl 키와 CapsLock 키의 위치를 변경해서 사용한다.이 경우 Ctrl 키를 눌러야 대문자 입력이 된다.



화살표 대체키 사용 예제


물론 이 경우 타이핑 입력에는 방해받기 때문에 필요할 때만 쓰거나 타이핑 입력이 필요없는 특정 프로그램에서만 사용가능하게 할 수는 있다.그 부분은 밑에서 설명


W::send {UP}

A::send {LEFT} 

S::send {DOWN}

D::send {RIGHT} 



한영  대체키 사용 예제 


^space::send {vk15} 


Ctrl + 스페이스 키를 누르면 한영키를 누른다.


LSHIFT::send {vk15} 


왼쪽 Shift 키를 누르면 한영키를 누른다.



한자 대체키 사용 예제


CapsLock::send {vk19}


CapsLock 키를 누르면 한자키를 누른다.


+space::send {vk19}


Shift 키와 스페이스 키를 누르면 한자키를 누른다.





위의 {CAPSLOCK} {ScrollLock} {NumLock}는 해당 키를 특정키로 변경하거나 특정키와 조합해서 새로운 단축키를 만들 때 사용하는 것이다.




CAPSLOCK , ScrollLock , NumLock를 항상 끄거나 키는 방법은 다음을 참조한다.


SetCapsLockState 파라메터

SetNumlockState 파라메터

SetScrollLockState 파라메터


밑의 파라메터를 그대로 입력하면 된다.


파라메터 설명


AlwaysOn 항상 켜져 있는 상태

AlwaysOff 항상 꺼져 있는 상태

On 켠 상태로 복귀(다시 누르면 꺼짐)

Off 끈 상태로 복귀(다시 누르면 켜짐)



예제


SetCapsLockState AlwaysOFF 


CapsLcok키를 항상 끈 상태로 한다.(즉 부팅후 오토핫키를 시작하면 자동으로 항상 꺼져 있다는 뜻)


즉 CapsLcok키를 실수로 누르고 알파벳을 입력해도 대문자 입력은 할 수 없다.


SetScrollLockState AlwaysOFF 


ScrollLock키를 항상 끈 상태로 한다.ScrollLock키를 안 써봐서 사용할 일은 없지만..




예제


^F2::SetCapsLockState AlwaysOFF


Ctrl + F2키를 누르면 CapsLcok키를 항상 끈 상태로 한다.


^F3::SetCapsLockState OFF


Ctrl + F3키를 누르면 CapsLcok키를 끈 상태로 복귀한다.


^F4::SetNumlockState AlwaysOff


Ctrl + F4키를 누르면 Num LK키를 항상 끈 상태로 한다.


^F5::SetNumlockState On


Ctrl + F5키를 누르면 Num LK키를 켠 상태로 복귀한다.







GsLlK


CapsLock와 Num LK 키 토글시 OSD 표시 스크립트


그냥 복사해서 메모장에 붙여넣기해서 사용하면 된다.


예제


~*CapsLock:: 

if GetKeyState("CapsLock", "T")

Progress, B1 W200 H28 ZH0 FS11 WS900 Y700 CTFF0000, CAPS LOCK ON

else

Progress, B1 W200 H28 ZH0 FS11 WS900 Y700 CT0000FF, CAPS LOCK OFF

SetTimer, OSD_OFF, -2000

Return


~*NumLock::

if GetKeyState("NumLock", "T")

Progress, 0 B1 W200 H28 ZH0 FS11 WS900 Y700 CTFF0000, NUM LOCK ON

else

Progress, 0 B1 W200 H28 ZH0 FS11 WS900 Y700 CT0000FF, NUM LOCK OFF

SetTimer, OSD_OFF, -2000

Return


OSD_OFF:

Progress, off

Return




스크립트 사용시 주의할 점


윈도우 기본 단축키나 본인이 자주 사용하는 단축키를 생각하지 않고 다른 기능을 지정하면 기존 단축키는 사용할 수 없으니 겹지치 않도록 잘 생각하여 지정해야 한다.


그리고 Shift를 단독으로 단축키로 설정하면 대문자는 CapsLock을 사용해도 되겠지만 특수문자 입력이 힘드니 다른 키(Win,Ctrl,Alt와 조합해서 사용하자)



스크립트 텍스트 입력시 주의할 점 (보통 텍스트 자동 입력에 관한 것으로 프로그램 실행에는 필요없으니 이 부분은 그냥 넘어가도 된다.)


위에서 설명한대로 ^+!#는 Ctrl,Shift,Alt,Win의 약어인데 약어 대신 해당 텍스트를 자동으로 입력하고 싶다면 다음 방법으로 하면 된다.


예제


Sendraw ^+!#


Send {^}{+}{!}{#} 


둘 중 마음에 드는 걸로 사용하면 되는데 Sendraw가 편할 것이다.


특수키도 마찬가지이다. 중괄호를 삽입한 텍스트를 자동으로 입력하고 싶다면 역시 Sendraw 명령어를 사용한다.


예제


Sendraw {Enter}{Space}



단축키 입력 및 누를 때 주의할 점


일반적으로 다른 키를 조합하지 않고 CTRL+SHIFT 이런식으로는 사용할 수 없다.


^+::send #d 


 Ctrl+shift를 누르면 바탕화면에 간다.하지만 이 스크립트는 실제로는 실행되지 않는다.



위 스크립트는 & 연산자를 이용해 다음과 같이 변경해서 사용할 수 있다.   


LCTRL & LSHIFT::send #d 


왼쪽 Ctrl 누른채 왼쪽 Shift 키를 누르면 바탕화면에 간다.


LSHIFT & LCTRL::send #d 


왼쪽 Shift  누른채 왼쪽 CTRL 키를 누르면 바탕화면에 간다.



물론 이 조합으로 단축키를 사용하는 사람은 별로 없을 것이다.



4.기초 스크립트



qUBWP

앞으로 설명하는 스크립트중에는 이해하기 어려운 것도 있을텐데 전부 이해할 필요는 없다.이 스크립트를 사용하면 이렇게 실행되는 정도만 알아도 충분하다.


그냥 예제를 복사해서 메모장에 그대로 붙인후 설명대로 직접 실행해보면 대충 알 수 있고 대부분 변경키 부분,프로그램 경로 및 실행파일 정도만 바꿔서 사용하면 된다.


(스크립트를 붙이거나 수정후에는 꼭 저장과 Reload This Script를 해야 수정한 스크립트가 적용된다는 것을 잊지 말자)


그리고 예제는 스트립트에 대한 설명을 이해하기 쉽게 만든 것이므로 실용성이 없는 것도 있을 수 있는데 응용은 본인의 몫이다.





앞으로 설명할 스크립트 검은색 부분은 스크립트 구문(즉 이런식으로 스크립트를 입력하면 된다는 뜻) ; 갈색 부분은 입력할 필요없는 스크립트의 결과를 의미



변경키는 기존 단축키를 변경할 키, 즉 스크립트 수정후에 직접 누르는 단축키를 말한다.



변경키::Run 프로그램의 경로 및 실행 파일 ; 프로그램을 실행한다.


변경키::Run 사이트 주소 기본 브라우저로 사이트에 접속한다.


변경키::Run 브라우저 프로그램 경로 및 실행 파일 "사이트 주소" 설정한 브라우저로 사이트에 접속한다.



Send 대신 Run 명령어가 나왔다. 설명 안 해도 잘 알겠지만


컴퓨터가 이것을 실행한다는 명령어이다.즉 단축키를 눌러서 프로그램을 실행하는 것으로 가장 기초이면서도 유용하게 사용하는 것이다.




예제


#J::run Taskmgr ; Win+J키를 누르면 작업관리자가 실행된다.


#Y::run http://youtube.com ; Win+Y키를 누르면 기본 브라우저로 유튜브에 접속한다.


#c::run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe "http://naver.com" ; Win+C키를 누르면 크롬으로 네이버에 접속한다.


#w::run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --new-window "http://google.com" ; Win+w키를 누르면 크롬 새 창으로 구글에 접속한다.



당연한 이야기지만 작업관리자 그림판 메모장 계산기등 윈도우 기본 프로그램은 프로그램 경로 입력 없이 실행 파일 이름만 써도 된다.


크롬 중간에  --new-window을 입력했는데 (띄어쓰기 없이)


--new-window가 없으면 크롬이 실행중인 경우 현재 탭으로 접속하고 --new-window가 있으면 크롬이 실행중인 경우에도 현재 탭 대신 새 창을 열어서 접속한다.



여기서 ;와 뒤에 쓴 텍스트는 주석이라 하여 실제로는 실행되지 않는다.



주석의 기능


1.메모장에 스크립트가 많은 경우에도 스크립트의 내용을 쉽게 알 수 있다.


2.주석을 참조하여 메모장에서 특정 스크립트를 검색하기가 수월하다.


3.다른 사람들에게 해당 스크립트에 대해 설명한다.


4.보통 삽입한 스크립트를 일일히 지우지 않고 주석 처리하여 긴 내용의 스크립트중에 뭐가 문제인지 에러 파악 즉 스크립트를 테스트할 때 사용한다.


스크립트 구문을 잘못 입력한 경우에는 에러 메세지가 나오지만 정상적인 스크립트인데도 오작동 하는 경우에는 에러 메세지는 뜨지 않는다.



예제


메모장에 3줄의 스크립트를 적었지만 실제로 실행되는 것은 첫 줄뿐이다.


#J::run Taskmgr  ; Win+J키를 누르면 작업관리자가 실행된다.


; #Y::run http://youtube.com ; 이 스크립트는 제일 앞에 주석 처리 하였기 때문에 실제로는 실행되지 않는다.


; #c::run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe  ; 이 스크립트는 제일 앞에 주석 처리 하였기 때문에 실제로는 실행되지 않는다.




변경키::run C:\Windows\explorer.exe 자주 사용하는 폴더경로 ; 해당 폴더로 탐색기가 열린다.단축키로 해당 폴더를 빨리 열 때 사용한다.



예제


#E::run C:\Windows\explorer.exe c:\users\pc\downloads ; Win+E키를 누르면 탐색기로 사용자 이름이 PC인 다운로드 폴더창이 열린다.


탐색기 아이콘을 클릭하는 경우에는 설정 가능하지만 Win+E를 누르면 자주 사용하는 폴더 대신 항상 내 PC로 열린다.오토핫키를 통해 변경하자





변경키::Send 텍스트상용구 기능 즉 빈 칸에서 텍스트를 자동 입력한다.




상용구 예제


!1::Send 안녕하세요 ; 빈 칸에서 Alt+1키를 누르면 안녕하세요라는 텍스트를 자동 입력한다.


!2::Send 서울시 서초구 ; 빈 칸에서 Alt +2키를 누르면 서울시 서초구를 자동 입력한다.


!3::Send ㈜ ; 빈 칸에서 Alt +3키를 누르면 ㈜을 자동 입력한다.


!4::Send ∑ ; 빈 칸에서 Alt +4키를 누르면 ∑을 자동 입력한다.



http://www.ltg.ed.ac.uk/~richard/unicode-sample.html 특수 문자 참조 사이트


http://kor.pe.kr/util/4/charmap.htm 특수 문자 참조 사이트





::텍스트::자동으로 변경할 텍스트 ; 축약어를 입력후 엔터키 or 스페이스키를 눌러야 자동으로 변경한다.


핫스트링 기능..즉 긴 문장을 반복 입력할 때 줄여서 타이핑하면 자동으로 긴 문장으로 치환되는 것을 말한다.일본어나 한자 반복 입력시에 특히 유용




축약어 입력후 엔터키 or 스페이스키를 눌러야 자동 변경하니 다른 텍스트도 방해받지 않고 입력 가능하다.


예제 


::otd::Outfit of the day ; 빈 칸에서 otd를 입력후 엔터키 or 스페이스키를 누르면 Outfit of the day로 자동으로 변경한다.


::mo::モーニング娘 ; 빈 칸에서 mo 입력후 엔터키 or 스페이스키를 누르면 モーニング娘로 자동으로 변경한다.


::ak::akb48 ; 빈 칸에서 ak 입력후 엔터키 or 스페이스키를 누르면  akb48로 자동으로 변경한다.


::cu::キュート; 빈 칸에서 cu 입력후 엔터키 or 스페이스키를 누르면 キュート로 자동으로 변경한다.




:*:텍스트::자동으로 변경할 텍스트 ; 축약어를 입력하면 바로 자동으로 변경한다.



다른 텍스트 입력시 방해받기 때문에 타이핑 작업에 방해받지 않도록 마침표를 삽입하였다.(물론 마침표로 꼭 할 필요는 없다.)



예제 



:*:otd.::Outfit of the day ; 빈 칸에서 otd.를 입력하면 Outfit of the day로 바로 자동으로 변경한다.


:*:mo.::モーニング娘 ; 빈 칸에서 mo. 입력하면 モーニング娘로 바로 자동으로 변경한다.


:*:ak.::akb48  ; 빈 칸에서 ak. 입력하면 akb48로 바로 자동으로 변경한다.


:*:cu.::キュート ; 빈 칸에서 cu. 입력하면 キュート로 바로 자동으로 변경한다.



단 축약어는 한글 사용시 문제가 있어 영어::한글만 완벽 지원한다. 


예제 


:*:hi.::안녕하세요  ; 사용 가능


:*:안녕.::안녕하세요 ; 사용 불가



편법으로 영문 입력 모드에서 한글을 치면 된다.영어로 등록하고 한글로 타이핑해도 자동 변경은 해준다.



예제 


:*:dks.::안녕하세요 ; 영어로 등록하고 한글로 타이핑해도 사용 가능


:*:ghd.::홍길동입니다. ; 영어로 등록하고 한글로 타이핑해도 사용 가능




물론 뒤에 텍스트만 꼭 입력할 필요는 없다.타이핑해서 다른 작업을 할 수도 있다.다만 스크립트는 3줄 이상으로 적어야한다.


예를 들면 win + r 키를 눌러서 실행창을 연 뒤 cmd나 maspaint를 입력해서 프로그램 실행하는 것과 비슷하다.


보통 웹서핑을 많이 하면서 주소창에서 타이핑만으로 편하게 특정 프로그램을 실행하고자 할 때 쓰인다.물론 엑셀이나 메모장처럼 빈 칸이 있는 프로그램이면


다 실행된다.설정만 잘 하면 실행창보다는 어떤 면에서는 더 편하다.



예제



:*:ms.:: 

run mspaint 

Return 


빈 칸에서 ms.를 입력하면 그림판을 실행한다.


:*:calc.:: 

run calc.exe 

Return


빈 칸에서 calc.를 입력하면 계산기를 실행한다.


:*:ejz.:: 

run http://theqoo.net 

Return 


빈 칸에서 ejz.를 입력하면 더쿠에 접속한다.



Return 스크립트는 바로 밑에서 설명한다.





듀얼 모니터 예제 ( 잘 쓰지는 않는다. )


PAoRZ

Win + P키를 누르고 프로젝트 화면 클릭하는 것을 단축키로 한 번에 선택하는 것이다.


단축키만 변경해서 사용하면 된다.DisplaySwitch.exe는 최신 윈도우에는 기본적으로 들어있다.


^+A::Run C:\Windows\system32\DisplaySwitch.exe /internal  ;  ctrl + shift + A키를 누르면 PC 화면만 선택


^+S::Run C:\Windows\system32\DisplaySwitch.exe /clone ;  ctrl + shift + S키를 누르면 복제만 선택


^+D::Run C:\Windows\system32\DisplaySwitch.exe /extend  : ctrl + shift + D키를 누르면 확장만 선택


^+F::Run C:\Windows\system32\DisplaySwitch.exe /external : ctrl + shift + F키를 누르면 2번째 화면만 선택






5.대기 및 종료 스크립트


sleep 숫자 ; 1000은 1초를 말한다.즉 1초를 기다린다는 뜻


return ; 종료한다.


대기 및 종료 스크립트는 이게 끝이다.


예제를 참고하여 어떻게 사용하는지 알아보자.



예제


#F:: ; Win+F키를 누르면

run mspaint ; 그림판을 실행한다.

Sleep 1000 ; 1초후에

run notepad ; 메모장을 실행한다.

Sleep 2000 ; 2초후에

run http://theqoo.net ; 더쿠에 접속한다.

return ; 종료한다.





+!n:: ; Shift + Alt + N 키를 누르면

Run Notepad.exe ; 메모장을 실행한다.

sleep 500 ; 0.5초후에 

send ^o ; Ctrl + o 키를 누른다.즉 메모장을 실행하면 바로 파일 열기창이 나온다는 뜻

return ; 종료한다.




단축키 한 번 눌러서 여러 프로그램을 시간을 조절하여 순차적으로 실행할 수 있다.


물론 위의 예제에 대기 스크립트를 넣을 필요는 없다.설명을 하기 위해서 입력한 것일 뿐


기본이면서도 중요한 스크립트인데 여러줄의 스크립트는 한 줄로 이루어진 스크립트와 달리 마지막에 return을 입력하지 않으면


다음 줄에 적은 스크립트가 자동으로 실행된다.즉 한 개의 스크립트의 종료를 알리는 스크립트이다.여러 줄의 스크립트인 경우 return을 꼭 입력하는 것을 잊지 않도록





탐색기 재시작 스크립트 (작업표시줄,탐색기,윈도우에 렉이 생기거나 이상한 경우 간단하게 탐색기를 재시작함으로서 에러를 해결하는 경우도 있다.)


그냥 복사해서 붙여넣기로 사용하면 되는 간단한 스크립트로 단축키가 마음에 안 들면 역시 단축키만 변경해서 사용하면 된다.


예제 


^+E:: ; Ctrl + Shift + E 키를 누르면 

run, taskkill /f /im explorer.exe,,hide ; 탐색기를 종료한다.(도스창은 안 뜬다.)

sleep, 1000 ; 1초후에 

run, C:\Windows\explorer.exe  ; 탐색기를 실행한다.

return ; 종료한다.

 


taskkill /f /im은 오토핫키 명령어가 아니고 윈도우에 내장되어 있는 명령어이다. /f는 강제 종료 /im은 실행파일 이름으로 종료하는 옵션


,,hide는 도스창을 숨기는 옵션이고 실행파일 뒤에 쉼표 2개임을 주의하자(쉼표가 빠지거나 한 개이면 오토핫키에서 에러가 나거나 엉뚱하게 결과가 나온다.)



실행중인 프로그램을 종료하는 것이므로 프로그램 실행 파일 이름만 입력하면 된다.



예제


^+I::run, taskkill /f /im iexplore.exe,,hide ; Ctrl + Shift + I 키로 익스플로러를 종료한다.(익스 창이 2개 이상이면 다 종료된다.)





특정키 비활성화 방법,즉 해당키는 눌러도 사용하지 못 하게 된다.


변경키::return ; 해당 키의 사용을 중지한다.


간단하다.


예제


LWin::return ; 왼쪽 Win키를 비활성화시킨다.


F1::return ; F1키를 비활성화시킨다.


물론 위의 예제를 그대로 사용하면 안 된다.다시 활성화시키지 못 하고 활성화하려면 스크립트에 주석을 넣거나 아예 지우고 다시 리로드해야 되니 귀찮다.


특정키를 아예 못 쓰게 하는 것이라면 상관없다.



단축키로 키 활성 및 비활성화 시키는 방법 


변경키는 알아서 변경하고 밑의 스크립트를 복사해서 붙여넣은 후


 #if toggle와 #if 사이에 비활성화키를 필요한 만큼 추가해주면 된다.마지막에 Return은 입력할 필요없다.


예제 


^1::  ; Ctrl + 1을 누르면 

toggle := !toggle 

return 

#if toggle

LWin::Return  ; 왼쪽 Win키를 비활성화시킨다.다시 누르면 활성화된다.

F1::Return ; F1키를 비활성화시킨다.다시 누르면 활성화된다.

#if



특정키를 비활성화하면 특정키를 조합한 단축키도 사용할 수 없다. 예를 들면 win키를 비활성화한 경우 win+d 단축키도 작동이 안 된다.


특정키를 비활성화시킨 상태에서 특정키를 조합한 단축키가 필요한 경우라면 단축키를 변경해서 사용하던가 특정 프로그램에서만 특정키를 비활성화시키는 방법을


사용해야 한다.




같은 단축키를 2번 누르는 것으로 작업을 할 수도 있다.개인적인 생각으론 별로 실용적이지 않다.


예제 


^1:: ; Ctrl +1 키를 

    if (A_ThisHotkey = A_PriorHotkey && A_TimeSincePriorHotkey < 300)  ; 0.3초 안에 2번 누르면

run mspaint.exe ; 그림판이 실행된다.

return ; 종료한다



^2:: ; Ctrl + 2키를 

    if (A_ThisHotkey = A_PriorHotkey && A_TimeSincePriorHotkey < 300) ; 0.3초 안에 2번 누르면

run calc.exe ; 계산기를 실행한다.

return  ; 종료한다.




6.오토핫키 우클릭 스크립트


JOpMS


아까 설명했던 오토핫키 아이콘 우클릭시 메뉴이다.아까 말했듯이 수동으로 클릭하지 않고 단축키로 쉽게 사용할 수 있다.


변경키::Suspend 오토핫키의 작동을 멈춘다.


변경키::Edit ; AHK 파일을 바로 연다. AHK 파일을 탐색기에서 클릭하거나 메모장으로 열 필요없다는 뜻


변경키::Reload ; 스크립트를 자동으로 읽는다.스크립트의 저장은 안 되니 주의



예제


!s::Suspend  ; Alt+S키를 누르면 오토핫키의 작동을 멈춘다.


!e::edit  ; Alt+E키를 누르면 AHK 파일을 바로 연다.


Reload는 저장이 안 되니 메모장에서 Ctrl+S키를 누르고 저장한 뒤 해도 되지만 다른 방법을 이용하자


바로 밑에서 설명




7.창 제목을 이용한 단축키 스크립트


이제 약간 어려운(?) 스크립트가 나왔지만 별거 아니다.


#ifWinActive 창 제목  ;  창 제목을 보고 있는 경우에만 설정한 스크립트가 작동된다.



특정 창 제목에서만 단축키가 실행되도록 할 수도 있다.


Return처럼 마지막에 #IfwinActive으로 마무리해야한다.입력하지 않으면 다음 스크립트도 특정창에서만 작동된다.



Jelbc

창 제목은 실행 프로그램 위에 써 있다.띄어쓰기와 기호를 주의하자



예제


#ifWinActive Autohotkey.ahk - 메모장 ; Autohotkey.ahk - 메모장이라는 창 제목에서

 !r::   ; Alt +R 키를 누르면

 send ^s   ; Ctrl+S키를 누른다 (저장 단축키)

 SoundBeep ; 비프음을 낸다.

 Reload     ; 스크립트를 읽는다.

 return      ; 종료한다

#IfwinActive 



위의 예제를 메모장에 복사해서 붙인후에 Reload This Script를 클릭한 후


메모장을 보고 있는 상태에서 바로 해당 단축키를 누르면  작업표시줄에서 오토핫키 아이콘이 사라졌다 바로 다시 생기는 것을 확인 할 수 있다.즉 Reload중이라는 뜻


이제는 Reload This Script를 클릭할 필요가 없다.


SoundBeep는 단축키를 눌렀을 때 비프음을 재생하여 확인하는 용도


기본 스크립트에서 #ifWinActive 창 제목과 마지막에 #IfwinActive만 추가하는 것으로 생각보다 단순하다.


모든 프로그램창에서 Ctrl+S키를 누르면 자동으로 오토핫키의 스크립트를 다시 읽는 것을 방지하는 것이다.




KADIc

오토핫키 아이콘을 우클릭하여 Window Spy를 클릭하면 프로그램의 창 정보를 알아내는 프로그램이 실행된다.


창 제목을 입력하기 귀찮은 경우나 브라우저처럼 창 제목이 자세히 안 나오는 경우에는 이 프로그램으로 창 제목을 알아낼 수 있고 드래그해서 복사할 수 있다.



예제 


!A::run C:\AU3_Spy.exe ; Alt + a키를 누르면 C:\에 있는 AU3_SPY 프로그램을 실행한다.역시 Window Spy를 클릭할 필요없다.




예제 


#ifWinActive 제목 없음 - 그림판 ; 제목 없음 - 그림판이라는 창 제목에서 (즉 그냥 그림판을 실행한 상태)

 MButton::send !{F4} ; 휠버튼을 클릭하면 Alt+F4를 누른다.(즉 그림판을 종료한다.)

 return      ; 종료한다

#IfwinActive 





프로그램 2개 이상인 경우 Return과 #ifWinActive도 창 제목마다 입력하지 말고 마지막에만 입력하면 된다.



프로그램 2개 이상 특정 창 제목 단축키 예제


#IfWinActive 문서 - 워드패드 ; 문서 - 워드패드라는 창 제목에서

^+C::Run Calc.exe ; Ctrl + Shift + C를 누르면 계산기 실행

#IfWinActive 제목 없음 - 메모장 ; 제목 없음 - 메모장이라는 창 제목에서 

^+C::Run Calc.exe ; Ctrl + Shift + C를 누르면 계산기 실행

return ; 종료한다.

#IfWinActive





프로그램 2개 이상 특정 창 제목 같은 단축키로 다른 작업 예제


#IfWinActive 문서 - 워드패드 ; 문서 - 워드패드라는 창 제목에서

^+C::Run mspaint.exe  ; Ctrl + Shift + C를 누르면 그림판 실행

#IfWinActive 제목 없음 - 메모장  ; 제목 없음 - 메모장이라는 창 제목에서

^+C::Run Calc.exe ; Ctrl + Shift + C를 누르면 계산기 실행

return ; 종료한다

#IfWinActive



그리고 그림판이랑 메모장의 경우 제목 없음이라는 공통 창 제목이 있기 


창 제목은 첫 부분만 적어도 두 프로그램에서 실행된다.


예제


#ifWinActive 제목  ; 제목이란 창 제목에서

^+C::Run Calc.exe ; Ctrl + Shift + C를 누르면 계산기 실행

return ; 종료한다

#IfWinActive



물론 창 제목이 변경되면 실행되지 않으니 위 예제들은 참고만 하도록






8.마우스 키보드 조합 스크립트


오토핫키에서는 키보드뿐만 아니라 키보드+마우스 혹은 마우스 입력으로 명령을 내릴 수도 있다.


당연한 이야기지만 그냥 좌클릭,휠클릭,우클릭은 컴퓨터 사용시 기본으로 클릭하는 버튼이라 여기에 명령을 지정하면 컴퓨터를 할 수 없는 수준이다.


Ctrl+좌클릭,Shift+좌클릭도 탐색기나 워드에서 자주 사용하는 버튼이기 때문에 여기에 명령어를 지정하면 안 된다.


Win키의 경우에는 단축키를 누르면 가끔 시작 메뉴가 뜨기 때문에 아예 지정하지 않는 것이 좋다.


LButton ; 좌클릭 


MButton ; 휠클릭 

     

RButton ; 우클릭 


XButton1 ; 사이드 버튼 1 (5버튼 마우스,오토핫키는 5버튼까지만 지원)


XButton2 ; 사이드 버튼 2 (5버튼 마우스,오토핫키는 5버튼까지만 지원)


WheelUp ; 휠 업 (휠 버튼을 위로 돌린다.)


WheelDown ; 휠 다운 (휠 버튼을 아래로 돌린다.)



예제


!Wheelup::Run C:\Windows\System32\control.exe ; Alt + 휠 업시 제어판 실행 

!WheelDown::Run C:\Windows\System32\control.exe /name microsoft.windowsupdate ; Alt + 휠 다운시 윈도우 수동 업데이트 실행(윈도우 10은 안 된다.)



아까 말했듯이 ^Wheeup,^WheelDown은 사용하지 말자,브라우저 확대 및 축소 기능과 충돌이 있다.


예제


XButton1::Send ^w ; 사이드 1버튼으로 탭 종료 (본인은 앞으로 가기는 거의 사용하지 않고 탭 종료를 훨씬 많이 사용한다.Ctrl + W 탭 종료 단축키)


XButton2::Send !{Left} ; 사이드 2버튼으로 뒤로가기(본인의 마우스는 1버튼이 뒤로가기인데 순서를 변경하였다. Alt + 왼쪽 화살표 뒤로 가기 단축키)




 

9.볼륨 조절 스크립트



그냥 복사해서 붙여넣기로 사용하면 되는 간단한 스크립트


변경키와 숫자만 고치면 된다.볼륨 조절시 알림 메세지가 뜬다. 


예제


+up:: ; Shift + UP 화살표 키를 누를 때 마다 

 {

   soundset, +5 ; 볼륨 5 증가

   soundget, vol

   vol:= round(vol, 0)

   traytip, Volume, %vol%`%, , 17

   settimer, removetip, -1500, 0

 }

return


+down::  ; Shift + Down 화살표 키를 누를 때 마다

 {

   soundset, -5 ; 볼륨 5 감소

   SoundGet, vol 

   vol:= round(vol, 0)

   traytip, Volume, %vol%`%, , 17

   settimer, removetip, -1500, 0

 }

return


+left::  Shift + Left 화살표 키를 누르면 음소거

 {

   soundset, +1, , mute ; 다시 누르면 음소거 해제 

   SoundGet, mute, , mute

   settimer, removetip, -1500, 0

   

   if mute=on

    {

      traytip, Volume, Mute is On, , 19

    }

    

   else

    {

      traytip, Volume, Mute is Off, , 17

    }

 }

return


removetip:

 {

   traytip

 }

return






작업표시줄을 이용한 볼륨 조절 및 작업 예제



그냥 복사해서 붙여넣기로 사용하면 되는 간단한 스크립트


단 메모장 중간에 붙이면 이 기능만 되고 다른 스크립트가 잘 작동이 안 되는 경우가 있으니


메모장 맨 마지막 부분에 붙여넣기로 사용하고 다른 스크립트는 이 스크립트 위에다가 입력하거나 붙인다.


말 안 해도 잘 알겠지만 예제 중간에 불필요하거나 필요한 것이 있으면 수정하면 된다.


물론 키 조합 없는 그냥 좌클릭이나 우클릭은 빼고 설정해야한다.(작업표시줄의 아이콘을 클릭 및 우클릭할 수 없게 된다.)



예제


#If MouseIsOver("ahk_class Shell_TrayWnd")  ; 작업표시줄에서


WheelUp::  ; 휠을 올리면 볼륨증가

Send {Volume_Up}  

SoundPlay *-1

return


WheelDown::  ; 휠을 내리면 볼륨감소

Send {Volume_Down}

SoundPlay *-1

return


MButton:: ; 휠버튼을 클릭하면 음소거

Send {Volume_Mute}

SoundPlay *-1

return


^LButton:: ; Ctrl 누른채 클릭하면 

Send #d ; 바탕화면 가기

return


+LButton:: ; Shift 누른채 클릭하면 

run taskmgr ; 작업관리자 실행

return



MouseIsOver(WinTitle) {

    MouseGetPos,,, Win

    return WinExist(WinTitle . " ahk_id " . Win)

}



10.시스템 종료 관련 스크립트


변경키::Shutdown, 0 ; 로그오프

변경키::Shutdown, 1 ; 종료

변경키::Shutdown, 2 ; 재부팅

변경키::Shutdown, 4 ; 강제 로그오프

변경키::Shutdown, 5 ; 강제 종료

변경키::Shutdown, 6 ; 강제 재부팅

변경키::run rundll32.exe powrprof.dll SetSuspendState ; 절전 모드 or 최대 절전모드


강제는 실행중인 프로그램을 무시하고 바로 실행한다.


단축키를 실수로 누르면 컴퓨터가 바로 꺼지거나 재부팅되기 때문에 자주 사용하는 단축키와 떨어진 곳으로 쉽게 누르기 힘든 조합으로 설정하는 것이 좋다.



절전모드에 진입시 최대 절전모드로 진입되는 것이 마음에 안 들면 Win+X키를 눌러서 명령 프롬프트(관리자)를 실행한 후 다음 명령어를 입력해서 해제할 수 있다.


MpHON

powercfg -hibernate off (최대 절전모드를 해제한다.)

powercfg -hibernate on (최대 절전모드를 실행한다,최대 절전 진입이 필요한 경우)



예제


^F1::Shutdown, 4 ; Ctrl + F1키를 누르면 강제 로그오프

^F2::Shutdown, 5 ; Ctrl + F2키를 누르면 강제 종료

^F3::Shutdown, 6 ; Ctrl + F3키를 누르면 강제 재부팅

^F4::run rundll32.exe powrprof.dll SetSuspendState ; Ctrl + F4키를 누르면 절전 모드 진입 (최대 절전모드 해제한 상태)





11. Shift 키 누른재 휠 버튼으로 가로 스크롤 움직이는 스크립트


그냥 복사해서 붙여넣기로 사용하면 되는 간단한 스크립트로 틸트 기능이 있는 마우스는 사용할 필요없다.


말 그대로 가로 스크롤바를 클릭하지 않고 단축키로 움직이는 기능



예제


~LShift & WheelUp::  ; 왼쪽 쉬프트 + 휠 버튼을 올리면 가로 스크롤 왼쪽

ControlGetFocus, fcontrol, A

Loop 20    ; 20의 숫자를 크게 하면 스크롤 속도가 빨라지고 적게 하면 스크롤 속도는 느려진다.

    SendMessage, 0x114, 0, 0, %fcontrol%, A  

return

~LShift & WheelDown::  ; 왼쪽 쉬프트 + 휠 버튼을 내리면 가로 스크롤 오른쪽

ControlGetFocus, fcontrol, A

Loop 20   ; 20의 숫자를 크게 하면 스크롤 속도가 빨라지고 적게 하면 스크롤 속도는 느려진다.

    SendMessage, 0x114, 1, 0, %fcontrol%, A  

return





12.창제목을 클릭하지 않고 창 이동하는 스크립트


원래 창이동은 창제목 부분을 클릭한 채 이동할 수 있다.직접 해보면 안다.엄청 길지만 그냥 복사해서 붙여넣기로 사용하면 되는 간단한 스크립트


단 메모장 제일 위에 붙여넣는다.다른 스크립트는 이 스크립트 뒤에 입력하거나 붙인다.물론 ALT키가 마음에 안 들면 변경해서 사용해도 된다.

!LButton:: ; ALT 키를 누른채 창 이동을 할 수 있다.
CoordMode, Mouse ; Switch to screen/absolute coordinates.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin% 
If EWD_WinState = 0  ; Only If the window isn't maximized 
    SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
return

EWD_WatchMouse:
GetKeyState, EWD_LButtonState, LButton, P
If EWD_LButtonState = U  ; Button has been released, so drag is complete.
{
    SetTimer, EWD_WatchMouse, off
    return
}
GetKeyState, EWD_EscapeState, Escape, P
If EWD_EscapeState = D  ; Escape has been pressed, so drag is cancelled.
{
    SetTimer, EWD_WatchMouse, off
    WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
    return
}
CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1   ; Makes the below move faster/smoother.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX  ; Update for the next timer-call to this subroutine.
EWD_MouseStartY := EWD_MouseY
return




13.단축키 누르면 메세지가 뜨는 스크립트


lRZKv
특정 단축키를 눌렀을 때 확인하는 용도로 사용



~변경키::    ; ~를 입력하지 않으면 다른 작업은 상관없지만 파일을 복사하고 자르고 붙이는 단축키에는 메세지만 뜨고 작업은 실행되지 않는다.

MouseGetPos, xpos, ypos

ToolTip, 단축키 눌렀을 때 나오는 메세지,  xpos-40, ypos-40

SetTimer, RemoveToolTip숫자, 2000

return

RemoveToolTip숫자:

SetTimer, RemoveToolTip숫자, Off

ToolTip

return


여기서 RemoveToolTip 뒤에 오는 숫자는 3번째 단축키이면 RemoveToolTip3,4번째 단축키이면 RemoveToolTip4 이런식으로 모두 변경해주면 된다.


예제를 참고하자. 2000은 메세지가 나오는 시간이 2초라는 뜻,역시 변경해서 사용



예제


~^c:: ; Ctrl+C를 누르면 

MouseGetPos, xpos, ypos

ToolTip, 복사되었습니다,  xpos-40, ypos-40 ; 복사되었습니다라는 메세지가 나온다.

SetTimer, RemoveToolTip1, 1000 ; 1초후에 사라진다.

return

RemoveToolTip1:

SetTimer, RemoveToolTip1, Off

ToolTip

return




~^v:: ; Ctrl+V를 누르면 

MouseGetPos, xpos, ypos

ToolTip, 붙여넣기,  xpos-40, ypos-40 ; 붙여넣기라는 메세지가 나온다.

SetTimer, RemoveToolTip2, 1000  ; 1초후에 사라진다.

return

RemoveToolTip2:

SetTimer, RemoveToolTip2, Off

ToolTip

return


~^X::  ; Ctrl+X를 누르면

MouseGetPos, xpos, ypos

ToolTip, 잘라내기,  xpos-40, ypos-40 ; 잘라내기라는 메세지가 나온다.

SetTimer, RemoveToolTip3, 1000  ; 1초후에 사라진다.

return

RemoveToolTip3:

SetTimer, RemoveToolTip3, Off

ToolTip

return





14.선택한 텍스트를 단축키로 검색하는 스크립트


pmOZm



크롬의 Context Menus 확장 프로그램 기능을 단축키로 한다고 생각하면 된다.단 이 기능은 크롬에서만 완벽하다.


확장 프로그램 설치가 안 되는 익스플로러 브라우저에서도 사용할 수 있지만 단점으로 검색 결과는 무조건 새 창으로 뜨니 참고하자.



변경키::

{

clipboard = ; 클립보드를 초기화한 후

Send ^c 

clipwait 1 ; 클립보드에 복사될 때까지 1초 기다린 후

Run 사이트 검색 주소 입력후 검색어 부분만 %clipboard%로 변경 ; 새 탭으로 해당 사이트에서 검색한다.

Return

}



사이트 검색 주소 참조


Ywuui



여기 없는 다른 사이트는 일단 아무거나 검색해서 마지막 검색어 부분을 %clipboard%으로 변경해주자.. 아마 거의 될 것이다.


Run https://search.naver.com/search.naver?where=nexearch&query=%clipboard% ; 네이버


Run http://www.google.com/search?q=%clipboard% ; 구글


Run http://youtube.com/results?q=%clipboard% ; 유튜브


Run http://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&sq=&o=&q=%clipboard% ; 다음


Run http://www.baidu.com/s?wd=%clipboard% ; 바이두


Run http://s.weibo.com/weibo/%clipboard% ; 웨이보


Run https://ko.wikipedia.org/wiki/%clipboard% ; 한글위키 (물론 항목이 있는 것만 검색된다.)


Run https://namu.wiki/w/%clipboard% ; 나무위키 (물론 항목이 있는 것만 검색된다.)


Run https://www.tumblr.com/search/%clipboard% ; 텀블러


Run http://endic.naver.com/search.nhn?sLn=kr&searchOption=all&query=%clipboard% ; 네이버 영어사전


Run http://jpdic.naver.com/search.nhn?range=all&q=%clipboard% ; 네이버 일본어사전


Run http://hanja.naver.com/search?query=%clipboard% ; 네이버 한자사전




단일 검색 예제


^+E:: 텍스트를 선택한 후 Ctrl+Shift+E 키를 누르면

{

clipboard = ; 클립보드를 초기화한 후

Send ^c ; 자동으로 텍스트를 복사해서

clipwait 1 ; 클립보드에 복사될 때까지 1초 기다린 후

Run https://search.naver.com/search.naver?where=nexearch&query=%clipboard% ; 네이버로 검색한다.

Return

}



멀티 검색 예제(단축키 한 번 입력으로 여러 사이트에서 동시에 검색한다.)


^+r:: ; 텍스트를 선택한 후 Ctrl+Shift+R 키를 누르면

{

clipboard = ; 클립보드를 초기화한 후

Send ^c ;  자동으로 텍스트를 복사해서

clipwait 1 ; 클립보드에 복사될 때까지 1초 기다린 후

Run https://search.naver.com/search.naver?where=nexearch&query=%clipboard% ; 네이버로 검색한다.

Run http://www.google.com/search?q=%clipboard% ; 구글로 검색한다.

Run http://youtube.com/results?q=%clipboard% ; 유튜브로 검색한다.

Return

}



15.창 항상 위 및 투명도 스크립트



Always On Top 같은 유틸을 별도로 사용하고 있다면 삭제해도 된다.



항상 위 스크립트 


다른 프로그램을 선택해도 해당 프로그램은 계속 화면에 보이는 기능으로 웹검색하면서 동영상을 계속 보거나 가사 번역을 보면서 자막을 만들거나


특정 사이트나 문서를 띄워서 문서 작업을 하거나 게임 공략집 보면서 게임하기등 다양하게 활용한다.작은 모니터보다는 큰 모니터에서 유용하다.



창 스크립트에서 A는 특정창이 아닌 현재 창 모두를 말 하는 것으로 아무 창이나 다 작동된다.



변경키::WinSet, AlwaysOnTop, Toggle,A ; 현재 창에서 단축키 누르면 항상 위 , 다시 누르면 항상 위 해제



예제 


^T::WinSet, AlwaysOnTop, Toggle,A ; 현재 창에서 Ctrl+ T키를 누르면 항상 위,다시 누르면 해제





투명도 스크립트 (본인은 투명도 기능은 거의 이용해본적 없다.)


변경키:: ; 현재 창에서 단축키 누르면 숫자에 따라 투명도 적용 , 다시 누르면 투명도 off

WinGet, _T, Transparent, A 

   _T := _T = 숫자 ? 255 : 숫자 숫자가 적을 수록 투명도는 높아지므로 창이 더 안 보여진다.

   WinSet, Transparent, %_T%, A

Return



예제 


+F1::  ; 현재 창에서 Shift + F1 키를 누르면 투명도 적용 , 다시 누르면 투명도 off

   WinGet, _T, Transparent, A 

   _T := _T = 150 ? 255 : 150 ; 투명도 150 설정

   WinSet, Transparent, %_T%, A

Return



작업표시줄 투명도 예제


+F2::  ; 작업표시줄에서 Shift + F2 키를 누르면 투명도 적용 , 다시 누르면 투명도 off

   WinGet, _T, Transparent, ahk_class Shell_TrayWnd 

   _T := _T = 150 ? 255 : 150 ; 투명도 150 설정

   WinSet, Transparent, %_T%, ahk_class Shell_TrayWnd

Return




16.현재 창에서 단축키 입력으로 창이동 및 크기 조절하는 스크립트 


지금까지 설명한 스크립트를 이해해야 앞으로 설명할 스크립트를 쉽게 이해할 수 있다.


지금부터 설명하는 스크립트 역시 작은 모니터보다는 큰 모니터에서 여러 프로그램을 동시에 볼 떄 유용한 스크립트이다.


참고로 창 조절 스크립트에서는 대기 스크립트는 사용하지 않는다.




xxmJh



창 조절에 앞서 Win + 왼쪽 or 오른쪽 단축키로 특정 프로그램의 50% 크기 조절이 가능하고


작업표시줄 우클릭 했을 때 정렬 메뉴로 현재 보고 있는 모든 창을 50% 크기로 맞추는 것은 윈도우 자체에서 지원한다.


창 조절은 특정 프로그램만 혹은 프로그램 모두 다른 크기 및 위치를 자동으로 편하게 맞출 때 사용한다.



CEUwf



창의 위치와 크기는 그림판을 실행해서 그림 속성을 현재 모니터 이상으로 맞춘 후 (모두 하얀 바탕으로 보이게 하라는 뜻)


모니터에서 적당히 배치할 위치와 크기를 드래그해서 맞춰 본다.


하단에 수치가 표시된다. 왼쪽부터 X축 위치,Y축 위치,X축 크기,Y축 크기(X축은 가로,Y축은 세로를 의미)


물론 마우스로 딱 맞추기에는 어려움이 있으니 나중에는 대충 숫자를 알아서 조절해야 한다.




winmove A , , X축 위치,Y축 위치,X축 크기,Y축 크기 ; 현재 창의 위치와 크기를 변경한다.쉼표를 주의하자



그런데 전체화면 상태에서는 단축키를 눌러도 창 조절이 안 먹히는 프로그램이 있다.대표적으로 크롬 브라우저


이전 크기 버튼을 클릭하고 창 조절을 해야 하는데 물론 이것도 클릭하지 않고 자동으로 설정할 수 있다.


eiYVB


WinMinimize A ; 현재 창을 최소화한다


WinRestore A  ; 현재 창을 이전 크기로 전환한다.


WinMaximize A ; 현재 창을 최대화한다



쉽게 이야기해서 최소화,이전 크기,최대화를 Win + 아래 화살표 or 위 화살표 단축키로 사용하는 경우에 변경할 수 있다는 뜻


WinRestore A만 사용하고 나머지는 쓸 일이 없어서 사용해 본 적 없다. 


예제 


^N::WinMinimize A ; Ctrl + N 키를 누르면 현재 창을 최소화한다.


^R::WinRestore A ; Ctrl + R 키를 누르면 현재 창을 이전 크기로 전환한다.


^M::WinMaximize A  ; Ctrl + M 키를 누르면 현재 창을 최대화한다.




이제 winmove와 조합해보자



예제



+F1:: ; Shift + F1 키를 누르면 

  WinRestore a  ; 현재창을 이전 크기로 전환한다.

  winmove a , , 0 , 0 , 200 , 300 ; 현재창의 크기만 200,200

  return ; 종료한다.


+F2::  ; Shift + F2 키를 누르면 

  WinRestore a  ; 현재창을 이전 크기로 전환한다.

  winmove a , , 200 , 0 , 400 , 300 ; 현재창의 위치는 200,0 창의 크기는 400,300

  return ; 종료한다 



+F3::  ; Shift + F3 키를 누르면 

  WinRestore a ; 현재창을 이전 크기로 전환한다.

  winmove a , , 200 , 200 , 500 , 500 ; 현재창의 위치는 200 ,200  창의 크기는 500,500

  return ; 종료한다 



프로그램을 실행시킨 상태에서 특정 프로그램을 선택후에 단축키로 설정된 위치와 크기로 바로 조절하는 것으로 가장 간단하면서도 유용한 스크립트이다.


기본적으론 이것만 해도 창 조절은 쉽다.



17.창 클래스를 이용한 단축키 스크립트 

16번은 창을 선택한 후 단축키를 입력해 해당 프로그램만 창을 조절하지만 프로그램은 가리지 않는 방식이고 

이번에는 단축키 입력 한 번에 모든 프로그램의 창을 조절해주지만 창 조절할 프로그램을 미리 설정해야 한다.



아까 창제목을 통해서 오토핫키 스크립트 읽기를 하였는데 #ifWinActive에 ahk_class를 쓰고 창 제목 대신 클래스를 입력하기만 하면 된다.


#ifWinActive ahk_class 프로그램 클래스명 ; 해당 프로그램에서만 실행한다.


프로그램에는 창 제목 외에 클래스라는 것이 있다.

창 제목은 어떤 파일을 프로그램으로 열었는가 어떤 사이트에 접속했느냐에 따라 매번 달라진다.

반면에 프로그램의 클래스는 항상 동일하므로 특정 프로그램에서만 단축키가 작동되도록 할 수도 있다.


RkIzt


역시 창 제목과 사용법은 동일하다

아무 프로그램이나 마우스로 선택하면 ahk_class 뒤에 클래스명이 나온다.

창 클래스 스크립트로 창 조절 하기 전에 간단한 것을 해보자

아까 그림판을 휠 버튼으로 종료하는 예제와 비슷하다.다만 창 제목 상관없이 클래스명으로 종료하기 때문에 특정 프로그램에서는 항상 작동한다.

이제 그림판도 어떤 사진 파일을 열던간에 항상 휠 버튼으로 종료할 수 있다.


예제


#ifWinActive ahk_class MSPaintApp ; 그림판에서 
 MButton::send !{F4} ; 휠버튼을 클릭하면 Alt+F4를 누른다.(즉 그림판을 종료한다.)
 return      ; 종료한다
#IfwinActive 



프로그램 2개 이상 예제 

창제목과 동일하게 마지막 프로그램 이후에만 return,#ifWinActive 삽입

#ifWinActive ahk_class MSPaintApp ; 그림판에서 
MButton::send !{F4} ; 휠버튼을 클릭하면 Alt+F4를 누른다.(즉 그림판을 종료한다.)
#ifWinActive ahk_class CabinetWClass ; 탐색기에서 
MButton::send !{F4} ; 휠버튼을 클릭하면 Alt+F4를 누른다.(즉 탐색기를 종료한다.)
#ifWinActive ahk_class Notepad ; 메모장에서 
MButton::send !{F4} ; 휠버튼을 클릭하면 Alt+F4를 누른다.(즉 메모장을 종료한다.)
return  ; 종료한다.
#ifWinActive





VaABu

윈도우 8.1 이하는 CMD 도스창에서 Ctrl+V로 붙여넣기는 안 되고 우클릭해서 붙여넣기를 해야 한다.


Ctrl+V로 붙여넣기가 가능하도록 해보자


예제 


#IfWinActive ahk_class ConsoleWindowClass ; CMD 창에서 

^V:: ; Ctrl + V키를 누르면 

Send {Raw}%clipboard% ; 클립보드에서 복사한 것을 입력한다.(붙여넣는다.)

return ; 종료한다 

#IfWinActive




이제 클래스를 이용하여 창 조절을 해보자



16번에서 설명한 스크립트중 winmove에 ahk_class 클래스명을 추가하면 된다.





창 조절할 프로그램 모두 실행한 후 단축키를 한 번 누르면 된다.


+F4:: ; Shift + F4 키를 누르면 

  winmove ahk_class IEFrame,, 0 , 0 , 500 , 500 ; 익스창의 크기만 500,500

  winmove ahk_class MSPaintApp,, 500 , 0 , 500 , 500 ; 그림판의 위치는 500,0 창의 크기는 500,500

  winmove ahk_class Notepad,, 0 ,500 , 500 , 500 ; 메모장의 위치는 0,500 창의 크기는 500,500

  WinRestore a ; 현재창을 이전 크기로 전환한다.

  winmove ahk_class Chrome_WidgetWin_1,, 500 ,500 , 500 , 500 ; 크롬의 위치는 500,500 창의 크기는 500,500

  return ; 종료한다 



18.프로그램 실행과 동시에 창 조절 하는 스크립트 



위에서 설명한 2개의 창 조절 스크립트와 달리 특정 프로그램을 순차적으로 실행하면서 바로 창 조절을 할 수도 있다.




WinWaitActive 창 제목                             ;   창 제목에 해당하는 프로그램의 실행을 기다려라

WinWaitActive ahk_class 프로그램 클래스명  ;   프로그램 클래스명에 해당하는 프로그램의 실행을 기다려라



Run 명령어로 실행후에 대기 스크립트를 이용할 수도 있지만


오토핫키에는 프로그램의 실행을 기다렸다가 다음 작업을 해주는 스크립트가 존재한다.대기 스크립트에 비해 입력하기가 귀찮고 프로그램 실행은 보통 1-2초 안에


되기 때문에 대기 스크립트를 거의 이용하지만 다중 프로그램 실행시에는 이 스크립트를 사용한다. 쉽게 이야기해서 저사양에서 렉 걸릴 때 프로그램 로딩 속도를 정확히


체크하기 힘들어 사용하는 스크립트 -_-


사용법은 이전의 창 스크립트와 같다.



예제


+F5:: ; Shift + F5 키를 누르면 

  Run C:\Program Files (x86)\Internet Explorer\iexplore.exe ; 익스를 실행

  WinWaitActive ahk_class IEFrame ; 익스의 실행을 기다려라

  winmove a,, 0 , 0 , 500 , 500 ; 익스창의 크기만 500,500

  Run Mspaint ; 그림판을 실행 

  WinWaitActive ahk_class MSPaintApp ; 그림판의 실행을 기다려라

  winmove a,,500 , 0 , 500 , 500 ; 그림판의 위치는 500,0 창의 크기는 500,500

  Run Notepad ; 메모장을 실행 

  WinWaitActive ahk_class Notepad ; 메모장의 실행을 기다려라

  winmove a,, 0 ,500 , 500 , 500  ; 메모장의 위치는 0,500 창의 크기는 500,500

  Run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --new -window ; 크롬을 새 창에서 실행 

  WinWaitActive ahk_class Chrome_WidgetWin_1 ; 크롬의 실행을 기다려라

  WinRestore a ; 현재창을 이전 크기로 전환한다.

  winmove a,, 500 ,500 , 500 , 500  ; 크롬창의 위치는 500,500 창의 크기는 500,500

  return ; 종료한다 



스크립트가 길어서 복잡해보이지만 실행하고 기다리고 창 조절하는 스크립트 3개를 순차적으로 입력한 것 뿐이다.

크롬의 --new-window 옵션은 기초 스크립트에서 설명하였다.



19.창 제목으로 프로그램 실행과 동시에 창 조절 하는 스크립트 


클래스로 조절하는 경우에는 같은 프로그램 2개 이상은 창 조절 할 수 없다.2개 이상이더라도 클래스는 같기 때문에 위치와 크기는 


동일하게 변경되고 한 개는 조절에 실패한다.이 때는 아까 배웠던 창 제목으로 다시 해야한다.


GxRRd

프로그램의 클래스는 동일하지만 창 제목은 다른 점을 이용하면 된다.


18번의 WinWaitActive 부분을 창제목으로 수정하면 된다.


익스창 크롬창 2개씩 띄우는 예제


+F6:: ; Shift + F6 키를 누르면 

  Run C:\Program Files (x86)\Internet Explorer\iexplore.exe "http://naver.com" ; 익스로 네이버에 접속 

  WinWaitActive NAVER - Internet Explorer ; 창 제목이 NAVER - Internet Explorer인 익스창의 실행을 기다려라

  winmove a,, 0 , 0 , 500 , 500 ; 익스창의 크기만 500,500

  Run C:\Program Files (x86)\Internet Explorer\iexplore.exe "http://theqoo.net" ; 익스로 더쿠에 접속 

  WinWaitActive 더쿠 - Internet Explorer ; 창 제목이 더쿠 - Internet Explorer인 익스창의 실행을 기다려라

  winmove a,, 500 , 0 , 500 , 500 ; 익스창의 위치는 500 , 0 창의 크기는 500,500

  Run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --new-window "http://naver.com" ; 새 창 크롬으로 네이버에 접속

  WinWaitActive NAVER - http://www.naver.com/ - Chrome ; 창 제목이 NAVER - http://www.naver.com/ - Chrome인 크롬창의 실행을 기다려라

  WinRestore,a ; 현재창을 이전 크기로 전환한다.

  winmove a,, 0 , 500 , 500 , 500 ; 크롬창의 위치는 0,500 창의 크기는 500,500

  Run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --new-window "http://theqoo.net"  ; 새 창 크롬으로 더쿠에 접속

  WinWaitActive 더쿠 - http://theqoo.net/ - Chrome ; 창 제목이 더쿠 - http://theqoo.net/ - Chrome인 크롬창의 실행을 기다려라

  WinRestore,a ; 현재창을 이전 크기로 전환한다.

  winmove a,, 500 , 500 , 500 , 500 ; 크롬창의 위치는 500 , 500 창의 크기는 500,500

  return ; 종료한다




20.모니터 끄기 스크립트



단축키를 누르면 모니터가 꺼지고 아무 키 입력이나 마우스로 움직이면 모니터가 켜지는 스크립트


그냥 복사해서 붙여넣고 단축키만 변경해서 사용하면 되는 간단한 스크립트



예제


^o::SendMessage,0x112,0xF170,2,,Program Manager ; Ctrl+o키를 누르면 모니터가 꺼지고 아무 키 입력이나 마우스로 움직이면 모니터가 켜진다.





단축키를 누르면 모니터가 꺼지고 다시 단축키를 눌러야만 모니터가 켜지는 스크립트


역시 엄청 길지만 그냥 복사해서 붙여넣고 단축키만 변경해서 사용하면 되는 간단한 스크립트


예제


^m::MonitOff(MonitVar) ;hotkey to toggle the monitor on and off ; Ctrl+M키를 누르면 모니터가 꺼진다. 다시 단축키를 눌러야만 모니터가 켜진다.


MonitOff(ByRef x) {


SetTimer, MonitOffLabel, % (x:=!x) ? "500" : "Off" ;toggle the var and turn the timer on or off


If x ;if it turned on turn monitor off


  SendMessage,0x112,0xF170,2,,Program Manager


Else ;if it turned off move the mouse to wake up the screen


  MouseMove, 0,0,0,R


Return


MonitOffLabel: 


If(A_TimeIdle<500) ;if there has been activity


  SendMessage,0x112,0xF170,2,,Program Manager


Return


}




21.창의 실행 여부에 따라 다른 작업을 하는 스크립트



그전에 창 관련 스크립트 하나 추가



winactivate 창을 활성화시킨다. ; 현재 실행중인 프로그램을 모니터에 활성화시킨다.


활성화란 현재 실행중이지만 화면에 안 보이는 프로그램을 모니터에 바로 보여주는 것이다.여러 개의 프로그램 실행시


Alt + Tab이나 작업표시줄을 클릭해서 찾기 귀찮을 때도 사용한다.실제로 해보면 바로 안다.



아까 창제목,클래스와 사용법은 같다.



+^D::  ; Ctrl+Shift+D키를 누르면 

winactivate ahk_class PotPlayer64 ; 실행중인 팟플레이어를 활성화시킨다. 

return ; 종료한다.


 

그런데 이렇게 사용하면 외우기도 힘든데 단축키 하나가 아깝다.


단축키 하나로 창의 실행 여부에 따라 스크립트를 다르게 실행할 수 있다.



ifwinexist 창 제목 or ahk_class 프로그램 클래스명  ; 창이 실행중이면

{

창이 실행중일 때 스크립트 내용 

}

else  ; 창이 실행중이 아니면 

{

창이 실행중이 아닐 때 스크립트 내용 

}

Return



예제


+M::  ; Ctrl + M 키를 누르면 

ifwinexist ahk_class MediaPlayerClassicW ; MPC-HC가 실행중이면

{

winactivate ; 활성화시킨다.

}

else ; 실행중이 아니면

{

Run C:\Program Files\MPC-HC\mpc-hc64.exe  ; MPC-HC를 실행하고

sleep 500 ; 0.5초후에

winactivate ; 활성화시킨다.

}

return ; 종료한다.



즉 현재 프로그램이 실행중이면 모니터에 바로 띄우고 실행중이 아니면 프로그램을 실행해서 활성화시킨다는 뜻





^P::  ; ctrl + P 키를 누르면 

ifwinexist ahk_class MSPaintApp ; 그림판이 실행중이면 

{

run taskkill /f /im mspaint.exe,,hide ; 그림판을 종료한다.

}

else ; 그림판이 실행중이 아니면

{

Run mspaint.exe ; 그림판을 실행한다.

sleep 500 ; 0.5초후에 

winactivate ; 활성화시킨다.

}

return ; 종료한다.


단축키 하나로 프로그램을 종료하고 실행한다는 뜻




물론 다르게 응용할 수도 있다.


Reload 스크립트를 수정해보도록 하겠다.


!s:: ; Alt + s 키를 누르면 

ifwinexist Autohotkey.ahk - 메모장 ; Autohotkey.ahk - 메모장이 실행중이면 

{

winactivate ; 활성화시킨 후

send ^s ; 저장한다.

reload ; Reload한다.

soundbeep ; 비프음을 재생한다.

}

else ; 실행중이 아니면 

{

edit ; 메모장으로 열어서

sleep 500 ; 0.5 초후에

send ^s ; 저장한다.

reload  ; Reload한다.

soundbeep ; 비프음을 재생한다.

}

return ; 종료한다.






22.단축키 혹은 축약어로 현재 날짜 및 시간 입력하는 스크립트 



FormatTime, CurrentDateTime,, yyyy년 M월 d일 ; 2017년 2월 18일 형식으로 표시

FormatTime, CurrentDateTime,, tt hh시 mm분 ss초 ; 오전 11시 42분 00초 형식으로 표시 



예제 


^5:: ; 빈 칸에서 Ctrl + 5 키를 누르면 

FormatTime, CurrentDateTime,, yyyy년 M월 d일 ; 2017년 2월 18일을 자동 입력한다.

SendInput %CurrentDateTime%

return


:*:date.:: ; 빈 칸에 date.를 입력하면 

FormatTime, CurrentDateTime,, yyyy년 M월 d일 tt hh시 mm분 ss초 ; 2017년 2월 18일 오전 11시 42분 00초를 자동 입력한다.

SendInput %CurrentDateTime%

return



23.단축키로 일시적으로 작업표시줄을 숨기는 스크립트


작업표시줄을 숨기고 사용하는데 갑자기 작업표시줄이 나와서 방해될 때 일시적으로 숨길 수 있다.


역시 그냥 복사해서 붙여넣고 단축키만 변경해서 사용하면 되는 간단한 스크립트


!Esc:: ; Alt + ESC 키를 누르면 작업 표시줄을 숨긴다.다시 누르면 작업 표시줄이 나타난다.

WinExist("ahk_class Shell_TrayWnd")

ControlGetPos,,,, hTB, ahk_class Shell_TrayWnd  

t := !t 


VarSetCapacity(area, 16)

WinGetActiveStats, AT, AW, AH, AX, AY  


If (t = "1") {  ; Hide

Top := A_ScreenHeight

WinHide, ahk_class Shell_TrayWnd  

WinHide, Start ahk_class Button  

WinMove, %AT%,,,0,, %A_ScreenHeight%  

} Else {  ; Show

Top := A_ScreenHeight - hTB  

WinShow, ahk_class Shell_TrayWnd  

WinShow, Start ahk_class Button

WinMove, %AT%,,,0,, (A_ScreenHeight-hTB)  

}


DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 0, UInt,4, UInt,0)

DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 4, UInt,4, UInt,0)

DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 8, UInt,4, UInt,A_ScreenWidth)

DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 12,UInt,4, UInt,Top)

DllCall("SystemParametersInfo", UInt,0x2F, UInt,0, UInt,&area, UInt,0)

return




24. 파일이나 폴더를 선택하고 단축키로 해당 경로를 복사하는 스크립트




RYmMG

파일이나 폴더를 우클릭해서 속성에서 드래그해서 해당 경로를 복사할 필요없다.




역시 그냥 복사해서 붙여넣고 단축키만 변경해서 사용하면 되는 간단한 스크립트

#c:: ; 파일이나 폴더를 선택후에 win + c 키를 누르면 자동으로 경로를 복사한다.

clipboard = 

Send ^c 

ClipWait 


clipboard = %clipboard%


StringReplace, clipboard, clipboard, `r`n, `r`n, All


return



25.마지막 Easy Context Menu를 활용한 스크립트


이번엔 오토핫키 자체 기능이 아닌 다른 프로그램을 활용하여 오토핫키의 단축키를 응용하는 스크립트



Easy Context Menu (무료,무설치)


http://www.sordum.org/7615/easy-context-menu-v1-6


NAecO 


OUsTt


예전에 소개했던 탐색기나 바탕화면에 쉽게 우클릭 메뉴를 생성해주는 프로그램이다.


기본으로 설정된 메뉴 외에도 프로그램을 등록하면 연결 기본 프로그램에 상관없이 다른 프로그램을 선택해서 파일을 열 수 있다.


탐색기에서 이미지 뷰어로 연결된 이미지 파일을 선택해서 그림판,포토스케이프,포토샵등의 프로그램으로 바로 열 수 있다는 뜻


이 프로그램의 중요 메뉴를 오토핫키 단축키로 지정해 바탕화면이나 탐색기에서 우클릭하고 선택할 필요없이 어디서든 바로 실행 할 수 있다.



ProgramFiles폴더에 Easy Context Menu를 설치했다는 것을 가정하고 설명한다.


예제


^H::run %ProgramFiles%\Easy Context Menu\EcMenu.exe /hiddenfile ; Ctrl + H 키를 누르면 숨김 파일과 폴더 보이거나 감추기



+^H::run %ProgramFiles%\Easy Context Menu\EcMenu.exe /HideFileExt ; Shift + Ctrl + H 키를 누르면 파일 확장자 보이거나 감추기 



^L::run %ProgramFiles%\Easy Context Menu\EcMenu.exe  /Admin /BlockInput ; Ctrl + L 키를 누르면 마우스와 키보드 차단 , 키보드 청소용



차단 해제는 Alt + Ctrl + Delete 



^+m::run %ProgramFiles%\Easy Context Menu\EcMenu.exe /Admin /ReduceMemory ; Shift + Ctrl + M 키를 누르면 여유 메모리 확보


^+s::run %ProgramFiles%\Easy Context Menu\EcMenu.exe /ReIconCache ; Shift + Ctrl + S 키를 누르면 쉘 아이콘 구축 (작업표시줄 아이콘 변경 및 깨짐시 사용)


^+c::run %ProgramFiles%\Easy Context Menu\EcMenu.exe /TempClean ; Shift + Ctrl + C 키를 누르면 임시 폴더 삭제 





목록 스크랩 (90)
댓글 108
댓글 더 보기
새 댓글 확인하기

번호 카테고리 제목 날짜 조회
이벤트 공지 [✨tvN 별들에게 물어봐 X 더쿠✨] 2025년 새해 소원 빌고 별들이 주는 선물 받아가세요🎁 181 00:15 5,163
공지 [공지] 언금 공지 해제 12.06 341,089
공지 📢📢【매우중요】 비밀번호❗❗❗❗ 변경❗❗❗ 권장 (현재 팝업 알림중) 04.09 4,472,207
공지 공지가 길다면 한번씩 눌러서 읽어주시면 됩니다. 23.11.01 8,117,499
공지 ◤더쿠 이용 규칙◢ [스퀘어/핫게 중계 공지 주의] 20.04.29 26,613,382
공지 정보 더쿠 모바일에서 유튜브 링크 올릴때 주의할 점 761 21.08.23 5,686,881
공지 정보 나는 더쿠에서 움짤을 한 번이라도 올려본 적이 있다 🙋‍♀️ 237 20.09.29 4,652,030
공지 팁/유용/추천 더쿠에 쉽게 동영상을 올려보자 ! 3465 20.05.17 5,237,233
공지 팁/유용/추천 슬기로운 더쿠생활 : 더쿠 이용팁 3988 20.04.30 5,677,080
공지 팁/유용/추천 ◤스퀘어 공지◢ [9. 스퀘어 저격판 사용 금지(무통보 차단임)] 1236 18.08.31 10,510,071
모든 공지 확인하기()
2592166 기사/뉴스 [속보] 바이든, '제주항공 참사' 애도…"한국에 필요한 지원 제공" 04:32 97
2592165 유머 만두 찜기로 만든 센과 치히로의 행방불명 6 04:23 756
2592164 기사/뉴스 [단독]“전기 끊고 국회 들어가라” 尹지시 받아적은 軍관계자 메모 확보 7 04:23 447
2592163 기사/뉴스 "이러다 다 죽어요" 혈맹도 깨졌다…살얼음판 토종 OTT 3 04:18 673
2592162 기사/뉴스 가성비 잡은 편당 2억원대 드라마…KBS N '오지송' 눈길 1 04:13 570
2592161 기사/뉴스 채수빈, 조카 드라마 데뷔했다‥‘지거전’서 품에 안았던 그 아이 8 04:02 1,597
2592160 이슈 엔비디아 수익률 621% 인증 12 03:57 2,019
2592159 유머 헌혈하러가서 선한영향력 주는 가수.jpg 3 03:43 1,905
2592158 이슈 냉수가 온수로 바뀌는 과정.gif 8 03:38 2,526
2592157 이슈 도덕쟁탈전.jpg 8 03:31 1,500
2592156 기사/뉴스 '논스톱3' 김영아, 日 AKB48의 제작자와 결혼 9년 만에 파경…두번째 이혼 11 02:58 5,783
2592155 유머 남의 노래 커버하면서 라이브했던 아이돌 6 02:56 2,722
2592154 기사/뉴스 이재명 무안공항 간것 비아냥대고 있는 국민일보 43 02:51 4,372
2592153 이슈 부산에서 공기놀이라고 하면 못 알아 듣는 이유 ㄷㄷ 131 02:31 13,587
2592152 유머 임시완의 캐릭터가 맞고 피투성이가 되고 멍이 든 채로 끝나는 모습을 보는 나 49 02:21 6,376
2592151 이슈 성평등 법안을 두고 대립했던 1970년대 미국 8 02:18 2,878
2592150 이슈 트랜스젠더이자 트랜스 장애인 111 02:17 10,879
2592149 정보 매국노 이완용이 나라 팔고 바로 구입한 것 (분노 주의) 31 02:14 7,271
2592148 이슈 AI 덕분에 어머니를 살릴 수 있었던 디씨인 ㄷㄷ 19 02:13 6,429
2592147 이슈 @재난에 지역명을 붙여 부르는거의 파급력이 얼마만큼 크냐면 사방에서 태안기름유출사고라고 부른 이후 태안에서 나는 모든 생산물, 태안에서의 풍경, 컨텐츠 등에 자동적으로 '아, 원유유출났던 거기'하는 사고가 따라붙게 되어버림 20 02:09 2,597