본문 바로가기
Autohotkey/강좌

[Autohotkey] 39. 윈도우 창이 있다면 .... 또는 없다면 ..... - IfWinExist , IfWinNotExist

by 슈퍼닷 2013. 6. 9.
반응형

지금까지 파일관련된 명령어를 배웠다면 이젠 윈도우 관련 쪽으로 배워봐야죠.

 

파일관련된 명령어에서 존재의 여부를 묻는게 IfExist , IfNotExist 였다면

윈도우관련된 명령어에서 존재의 여부를 묻는건 IfWinExist , IfWinNotExist 입니다.

 

Run 으로 인터넷을 켰는데

인터넷이 실행되기도 전에

그다음 스크립트가 실행되면 안되겠죠.

그걸 알기위해 이미지서치를 하는 방법도 있겠지만

IfWinExist 라는 방법으로도 그 창이 있다면 .... 으로 해결할 수 있겠죠.

 

여기서 알 수있듯이

IfWinExist 와 IfWinNotExist 는 자신이 원하는 창이 있다면 ... 또는 없다면 .... 다음 스크립트를 실행하라.

이런뜻으로 쓰입니다.

 

IfWinExist,제목

 

IfWinNotExist,제목 

 

이렇게 제목을 넣어서 하는 방법이 있습니다.

 

다른 방법으로는 제목 대신에 ahk_~

을 넣어서 하는 방법이죠.

오핫에서는 프로세스 이름이나 pid 나 ahk_class 등등 여러가지를 지원합니다.

 

Title : 제목

A : 활성화된 윈도우창

ahk_class : 윈도우 클래스

ahk_id : 유니크 아이디 / 핸들

ahk_pid : 프로세스 ID PID

ahk_exe : 프로세스 이름 / 경로

ahk_group : 윈도우 그룹

(비어있을때) : 최근 찾아진 윈도우

 

이렇게 됩니다.

 

A 같은 경우는 나중에 WinGetTitle을 쓸때 유용하게 쓰입니다.

한번 ahk_exe 로 인터넷 존재 여부를 판단해 보죠.

 

[스크립트]

 

;; iexplore.exe 가 인터넷 프로세스 이름입니다. 그리고 이건 IE 인터넷의 경우입니다.

 

Run,www.naver.com

Loop,

{

IfWinExist,ahk_exe iexplore.exe

{

msgbox,인터넷 존재여부 확인 완료. 루프를 탈출하겠습니다.

break

}

}

return

 

 

이런 스크립트를 만들수가 있죠.

 

ahk_ 관련은 필요한건 알아두는게 좋습니다.

 

 

반응형

댓글