PSP
 

창요소 활성여부와 자식창에 가상이벤트 자판 입력

최고관리자 2026-06-24 (수) 20:59 2개월전 17  
실행할프로그램 = notepad.exe
Run, % 실행할프로그램, , , 활성창PID
WinWaitActive, ahk_pid %활성창PID%
WinGet, 활성창HWAN, ID, ahk_pid %활성창PID%
WinGetPos, 화면x좌표, 화면y좌표, 창가로, 창세로, ahk_pid %활성창PID%
WinGetTitle, 창이름, ahk_pid %활성창PID%
WinGetClass, 클래스, ahk_id %활성창HWAN%

ControlGetFocus, 콘트롤클래스NN, ahk_id %활성창HWAN%
ControlGet, 콘트롤클래스NN아이디, Hwnd,, %콘트롤클래스NN%, ahk_id %활성창HWAN%
ControlGet, 활성여부값, Enabled, , %콘트롤클래스NN%, ahk_id %활성창HWAN% ;콘트롤클래스NN로만 동작함
If 활성여부값 = 1 ; ControlGetFocus로 획득한 클래스NN이 활성화되어 있으면 ControlGet에서 1을 출력한다
{
msgbox, %활성창PID% 프로세스 %클래스%(%활성창HWAN%, %창이름%)의 %콘트롤클래스NN%(%콘트롤클래스NN아이디%)이 활성화되어 있습니다.

postmessage, 0x100, 0x58, 0x2d0001, %콘트롤클래스NN%, ahk_id %활성창HWAN%
postmessage, 0x101, 0x58, 0xc02d0001, %콘트롤클래스NN%, ahk_id %활성창HWAN%

메시지전달될자식창 := DllCall("user32\FindWindowEx", "Ptr", 활성창HWAN, "Ptr",0, "Ptr",0, "Ptr",0, "Ptr", 콘트롤클래스NN아이디) ;Str만 아닌 uint,int,ptr 전부 가능 함
DllCall("PostMessage", "UInt", 메시지전달될자식창, "UInt", 0x100, "UInt", 0x58, "UInt", 0x2d0001)
DllCall("PostMessage", "UInt", 메시지전달될자식창, "UInt", 0x101, "UInt", 0x58, "UInt", 0xc02d0001)
}

hi
이전글  다음글  목록 글쓰기

 
 
ragoman@naver.com