PSP
 

Sample 1-1 of 5 : 창 제어단 인식과 감지

최고관리자 2026-06-24 (수) 21:04 2개월전 16  
01. 실행할프로그램 = notepad.exe
    Run, % 실행할프로그램, , , 활성창PID
    WinWaitActive, ahk_pid %활성창PID%
 02. 활성창HWAN := WinExist("Ahk_PID " 활성창PID)
 03. WinMaximize, ahk_id %활성창HWAN%
 04. MsgBox, HWAN : %활성창HWAN% !!! PID : %활성창PID%
 05. WinClose, ahk_id %활성창HWAN%
 06. sleep 700
 07. Process, Exist, % 실행할프로그램
 08. If (errorlevel = 0)
    {
 09. msgbox 작업내역이 없기에 프로그램 종료
    }
 10. Else
    {
 11. MsgBox 작업내역이 있어 프로그램 실행 중
    }

최고관리자 2026-06-24 (수) 21:04 2개월전
01. 응용 프로그램을 실행한 후 해당 프로그램의 창을 활성화하는 과정이다.
주소
최고관리자 2026-06-24 (수) 21:04 2개월전
02. 응용 프로그램이 실행되면 Process가 생성되고 이는 작업관리자에서 확인할 수 있다. 이후 AutoHotKey에서 제어하려면 HWAN을 획득해야되는데 이를 획득하는 과정은 참고록 02번 3행의 [ WinExit ]를 대신해 [ WinGet, 활성창HWAN, ID, AHK_PID %활성창PID% ]로 대체 가능하다.
주소
최고관리자 2026-06-24 (수) 21:04 2개월전
03. 02번 2행의 [ 활성창HWAN ] 변수에 담긴 HWAN으로 실행된 창을 최대화 한다.
주소
최고관리자 2026-06-24 (수) 21:04 2개월전
04. 01번 2행의 [ 활성창PID ] 변수와 02번 2행의 [ 활성창HWAN ] 변수에 담긴 값을 확인한다.
주소
최고관리자 2026-06-24 (수) 21:04 2개월전
05. Process에 등록된 [ notepad.exe ]를 아애 닫아버려 강제종료하는 구절이다. 실행 중인 응용 프로그램이 단일인 경우 [ Process, Close, % 실행할프로그램 ]만으로 이 구절을 대체할 수 있다. 그러나 동일 Process의 응용 프로그램이 여러개 실행 중이라면 정확하게 지정해주지 않는 이상 어떤 창이 꺼질지 알 수가 없다.
주소
최고관리자 2026-06-24 (수) 21:04 2개월전
07. Process에 등록되었던 [ notepad.exe ]가 모두 종료되었는지 확인하는 구절이다. 01번 1행의 [ notepad.exe ]가 Process에 존재하지 않으면 07번 1행에서 [ 0 ]을 반환한다.
주소
최고관리자 2026-06-24 (수) 21:05 2개월전
:::앞:::
 본 서적의 Script는 Windows10 Pro(v1909) 64bit, AutoHotKey v1.1.32.00 환경에서 작성되었다. 최대한 이해하기 쉽게 설명하고자 기본 개념을 확장하면서 순차적 연관성을 갖도록 구성하였다. 문맥의 흐름에 따라 Script를 Sample, Part, Project로 구분하였으며 WorkBook 제어의 [ Part 1-1 of 5 ]부터 외부제어의 [ Part 3-5 of 5 ]까지는 연속 Script로 보고 진행하길 바란다. 그리고 Script에 표기된 01, 02, 03 등은 Script의 순서와 주석을 식별하기 편하도록 넣은 것이며 선행하여 설명이 이뤄진 구문이나 구절은 표기는 하되 중복되는 주석은 생략했다.

본 서적에서는 제어대상인 응용 프로그램을 [ 실행할프로그램 ] 변수에 담아 호출한다. 가독성을 높이고자 이와 같이 표기하였으나 AutoHotKey는 Process Title 선별함수를 제외하고 Script에서 대소문자를 구분하지 않는다. 언급한 Script 설명 방침을 이행하면 아래의 Sample과 같은 형태가 되니 참조하길 바란다.
주소
hi
이전글  다음글  목록 글쓰기

 
 
ragoman@naver.com