PSP
 

Sample 1-2 of 5 : 창 구성요소 탐색과 제어

최고관리자 2026-06-24 (수) 21:01 2개월전 17  
실행할프로그램 = notepad.exe
    Run, % 실행할프로그램, , , 활성창PID
    WinWaitActive, ahk_pid %활성창PID%
 WinGet, 활성창HWAN, ID, ahk_pid %활성창PID%
    Winget, 창구성, ControlList, ahk_id %활성창HWAN%
    msgbox % 창구성
 찾는창요소 := "Edit1"
    Loop, Parse, 창구성, `n
    {
IfInString, A_LoopField, %찾는창요소%
{
msgbox 제어하려는 창요소 찾음!
ControlGet, 창요소HWAN, HWND, , %찾는창요소%, ahk_id %활성창HWAN%
while !(창요소활성여부 = 1)
{
ControlGet, 창요소활성여부, Enabled,,, ahk_id %창요소HWAN% ;Control이 활성화되어 있으면 OutputVar에 1을 설정합니다. 그렇지 않으면 0을 설정합니다
ControlFocus, , ahk_id %창요소HWAN% ;Control이 활성화되면 0을 반환함
}
ControlSend, , 사랑합니다{Enter}, ahk_id %창요소HWAN%
Break
}
    }
    Sleep 800
    Process, Close, % 실행할프로그램 ;작업내역 있어도 강제종료

최고관리자 2026-06-24 (수) 21:01 2개월전
01. 응용 프로그램을 실행하여 창을 생성하는 과정이다.
주소
최고관리자 2026-06-24 (수) 21:01 2개월전
02. 응용 프로그램이 실행되면 Process가 생성되고 이는 작업관리자에서 확인할 수 있다. 이후 AutoHotKey에서 제어하려면 HWAN을 획득해야되는데 이를 획득하는 과정은 참고록 02번 3행의 [ WinExit ]를 대신해 [ WinGet, 활성창HWAN, ID, AHK_PID %활성창PID% ]로 대체 가능하다.
주소
최고관리자 2026-06-24 (수) 21:01 2개월전
03. 02번 2행의 [ 활성창HWAN ] 변수에 담긴 HWAN으로 실행된 창을 최대화 한다.
주소
최고관리자 2026-06-24 (수) 21:01 2개월전
04. 01번 2행의 [ 활성창PID ] 변수와 02번 2행의 [ 활성창HWAN ] 변수에 담긴 값을 확인한다.
주소
최고관리자 2026-06-24 (수) 21:02 2개월전
05. Process에 등록된 [ notepad.exe ]를 아애 닫아버려 강제종료하는 구절이다. 실행 중인 응용 프로그램이 단일인 경우 [ Process, Close, % 실행할프로그램 ]만으로 이 구절을 대체할 수 있다. 그러나 동일 Process의 응용 프로그램이 여러개 실행 중이라면 정확하게 지정해주지 않는 이상 어떤 창이 꺼질지 알 수가 없다.
주소
최고관리자 2026-06-24 (수) 21:02 2개월전
07. Process에 등록되었던 [ notepad.exe ]가 모두 종료되었는지 확인하는 구절이다. 01번 1행의 [ notepad.exe ]가 Process에 존재하지 않으면 07번 1행에서 [ 0 ]을 반환한다.
주소
최고관리자 2026-06-24 (수) 21:03 2개월전
:::앞:::
창은 기본적으로 Process로 응용 프로그램만을 위한 독립적 커널이다. Process는

창을 구성하는 요소의 열 번호를 찾아 가는 게 ACC Lib이다.
주소
hi
이전글  다음글  목록 글쓰기

 
 
ragoman@naver.com