컴퓨터프로그래밍/autoHotKey(매크로)

AutoHotKey 단축키로 응용프로그램 실행 및 제어

zelkova 2016. 9. 26. 00:49

<목차로 돌아가기>


  응용프로그램 제어 - 실행



응용프로그램 실행하기

run, '주소, 실행프로그램, 메일경로, 주소, 폴더 경로'



예제 - Run 명령어 응용해보기


  1. ^+t::
  2. Run, Notepad 
  3. Return

Ctrl + Shift + T 를 누르면

메모장이 실행됩니다.



  1. ^+t::
  2. Run, www.naver.com
  3. Return

Ctrl + Shift + T 를 누르면

기본 웹브라우저를 실행하고 네이버에 들어가집니다.



  1. ^+t::
  2. Run, C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe
  3. Return

Ctrl + Shift + T 를 누르면

지정한 DTLite.exe 프로그램이 실행됩니다.



  1. ^+t::
  2. Run, C:\
  3. Return

Ctrl + Shift + T 를 누르면

C:\ 폴더가 열립니다.

'C:\ 폴더명 \ 폴더명' 이런식으로 빠르게 들어가고싶은 폴더를 지정하면 됩니다.



  1. ^!p:: 
  2. run, 
  3. run, C:\Users\jojeahwang\MEmu\MEmuConsole.exe MEmu
  4. run, http:dreamzelkova.tistory.com
  5. return


윈도우를 시작하자 실행하기 귀찮(?)아서 이런식으로 사용하고 있습니다.

컴퓨터를 작업하기전 여러 프로그램을 실행시켜야 한다면 정말 편리합니다.





<!----- 이 아래는 공사중입니다. ----->


  응용프로그램 제어하기 - 실행 확인하기



실행만하면 조금 부족하지요? 약간 응용해서 들어가 보겠습니다.


IfWinActive

IfWinNotActive

IfWinExist

IfWinNotExist


IfWinActive

지금 프로그램을 활성화되고 있다면 참, 아니면 거짓


IfWinNotActive

지금 프로그램을 활성화 되지 않는다면 거짓, 활성화됬다면 참


IfWinExist

지금 프로그램이 실행중이면 참, 실행중이 아니라면 거짓


IfWinNotExist

지금 프로그램이 실행중이 아니라면 참, 실행중이면 거짓



여기서 활성화와 실행중이라는 말이 좀 어렵죠? 간단하게 설명하자면

활성화한다는 것은 메모장을 켰을 때 마우스로 메모장을 누르면 메모장안에서 커서가 깜박깜박하죠? 이게 활성화중입니다.


메모장을 쓰다가 바탕화면을 누르면 메모장안의 커서가 깜박이지 않습니다. 이건 활성화중이 아닙니다. 


정리하자면 켜져있는 응용프로그램 중에서 자신이 현재 사용하는 프로그램을 활성화라고 합니다.


실행중이라는 뜻은 사용하거나 사용하지않아도 응용프로그램이 켜져있다면 조건이 적용됩니다.



사용방법 1

ifWinExist 실행파일명

{

  스크립트1

}

return

실행파일명이 실행되고 있는지를 확인하고 실행되고있다면 스크립트1을 실행합니다.


실행파일명은 Ctrl+Alt+Del을 누르면 작업관리자가 나옵니다.

거기에서 응용프로그램탭에 나오는 파일명을 입력하시면 됩니다.

하지만 불편하니 매크로 작업시에는 AU3_Spy.exe켜는것을 권장합니다.

AutoHotKey를 기본 설치경로에 설치하셨으면 C:\Program Files\AutoHotkey 에 있습니다.


용방법2

ifWinExist 실행파일명

{

  스크립트1

}

else

{

  스크립트2

}

return

실행파일명이 실행되고 있다면 스크립트1을 실행하고 

실행파일명이 실행되고 있지 않다면 스크립트 2를 실행합니다.




용방법3

if WinExist("ahk_class 클래스명")

{

  스크립트

}



ahk_class 클래스명을 알아내는 방법은 AU3_Spy.exe를 실행시키면 ahk_class가 무었인지 보실 수 있습니다.


WinActive 사용법은 위와 똑같이 사용하면 되니 생략합니다.



예제) 

^!p:: 

ifWinNotExist MEmu 2.8.6 - MEmu

{

   run, C:\Users\jojeahwang\MEmu\MEmuConsole.exe MEmu

}

if !WinExist("ahk_class Chrome_WidgetWin_1")

{

   run, http:dreamzelkova.tistory.com

}

return


이 프로그램은 미뮤와 블로그가 실행되고 있다면 실행하지 않는다는 구문입니다.

위에서 간단한 예제를 살짝쿵 변경했습니다.

실수로 두번눌렀는데 두번뜨면 짜증나자나요~



여기까지가 기초입니다 ^-^

참 쉽죠잉~?



  응용프로그램 제어하기 - 프로그램 이동,최대,복원,최소,활성,닫기


WinMove

WinMaximize

WinRestore

WinMinimize

WinActivate

WinHide

WinShow

Winclose


WinMove

지정한 윈도우를 이동시키고 크기를 조절한다.


WinMaximize

지정한 윈도우를 최대화 시킨다.


WinRestore

지정한 윈도우를 복원한다.


WinMinimize

지정한 윈도우를 최소화시킨다.


WinActivate

지정한 윈도우를 활성화 시킨다.


WinHide

지정한 윈도우를 숨겨줍니다

아래에 메뉴바에도 안나오고 트레이 아이콘에도 나오지 않습니다.

이것은 아이들의 엄크를 피할수 있는 신의 한수! ㅋㅋ


WinShow

지정한 윈도우를 보여줍니다. 숨겨져 있을때 사용하는 기능입니다.

엄크를 피하고 나서 다시 띄워줄 수 있는 기능이죠.


WinClose

지정한 윈도우를 닫는다(종료한다.)


각각 어떤 기능을 가지고 있는지 예제를 통해서 보시길 바랍니다.

사용방법은 위에서 사용한 방법과 같으니 예제만 올립니다.


AutoHotKey.ahk

^+t::

   run, notepad


   sleep, 1000

   WinMove, 제목 없음 - 메모장, , 200, 100, 400, 500


   sleep, 1000

   WinMaximize, 제목 없음 - 메모장 


   sleep, 1000

   WinRestore, 제목 없음 - 메모장 


   sleep, 1000

   WinMinimize, 제목 없음 - 메모장 


   sleep, 1000

   WinActivate, 제목 없음 - 메모장 


   sleep, 1000

   WinHide 제목 없음 - 메모장 


   sleep, 1000

   WinShow  제목 없음 - 메모장 


   sleep, 1000

   Winclose, 제목 없음 - 메모장

   

return





  기타


아래는 아직 설명안한 윈도우 관련 기능입니다.

영어잘하시는 용자분들은 돌진!


  • #WinActivateForce
  • DetectHiddenText
  • DetectHiddenWindows
  • SetTitleMatchMode
  • SetWinDelay
  • StatusBarGetText
  • StatusBarWait
  • WinActivate
  • WinActivateBottom
  • WinGet
  • WinGetActiveStats
  • WinGetActiveTitle
  • WinGetClass
  • WinGetPos
  • WinGetText
  • WinGetTitle
  • WinKill
  • WinMinimizeAll, WinMinimizeAllUndo
  • WinSet
  • WinSetTitle
  • WinWait
  • WinWaitActive, WinWaitNotActive
  • WinWaitClose






반응형