Download presentation
Presentation is loading. Please wait.
1
3. 윈도우 핸들 제어
2
Window handle Windows 환경의 핸들과 PID 윈도우에서 핸들이란
프로세스 통신을 하기 위해 존재하는 것이 아니라 객체가 존재하는 위치를 알려주기위해 사용되는 것. 윈도우에서 핸들이란 응용 프로그램과 통신하기 위한 것. 핸들은 통신을 하기 위해서도 필요하지만, 객체의 상태를 변경한다거나, 또는 그 객체를 종료해야 할 때도 필요하다.
3
윈도우 제목과 윈도우 클레스로 찾기 1 FindWindowA(문자: 클래스명, 윈도우제목); 예제 :
연결파일 : user32.dll FindWindowA(문자: 클래스명, 윈도우제목); FindWindow() (MFC) 예제 : [클래스명이 'TNHForm'이고, 창 제목이 '창0'인 창을 찾습니다.] FindWindowA("TNHForm", "창0"); 주의 : 만일 클래스명 및 윈도우제목도 같은 프로그램이 있다면 난감함 --;
4
윈도우 제목과 윈도우 클레스로 찾기 2 연결파일 : user32.dll
FindWindowExA(실수: 부모창, 다음창; 문자: 클래스명, 윈도우제목); 부모창 : 부모창의 핸들에서 자식 객체를 찾습니다. 사용 안할경우 0을 넣으시면 됩니다. 다음창 : 여기에 특정 창의 핸들을 넣으시면 그 특정창 다음부터 창을 찾습니다. [동일한 클래스명과 제목명이 여러개 있을경우 편리합니다.] 사용안하시려면 0 을 넣는다. 클래스명과 윈도우제목은 FindWindowA 와 동일합니다. FindWindowEx (MFC) 예제 : [클래스명이 'TNHForm'이고, 창 제목이 '창0'인 창을 찾습니다.] FindWindowA(0, 0, "TNHForm", "창0");
5
부모 윈도우 핸들 찾기 연결파일 : user32.dll 함수 : 예제 : GetParent(hWnd);
HWND Parent = GetParent(A);
6
특정 좌표에 있는 창의 핸들 찾기 연결파일 : user32.dll 함수 : 예제 :
WindowFromPoint(CPoint); 예제 : [X좌표 200 Y좌표 300에 위치한 창의 핸들을 얻습니다.] Cpoint pnt; pnt.x = , pnt.y = ; WindowFromPoint(pnt);
7
현재 활성화된 창의 핸들 찾기 연결파일 : user32.dll 함수 : 예제 : GetActiveWindow();
8
현재 포커스[초점]이 있는 창 핸들찾기 연결파일 : user32.dll 함수 : GetFocus(); 예제 :
9
Z-order 중 가장 앞 윈도우 찾기 연결파일 : user32.dll 함수 : 예제 :
GetForegroundWindow(); 예제 : 핸들 = GetForegroundWindow();
10
기타 윈도우 핸들 구하기 함수 다음창의 핸들구하기 이전창의 핸들구하기 부모창의핸들 구하기 데스크탑윈도우 핸들구하기
가장 처음창의 핸들구하기 가장 마지막창의 핸들구하기
11
IPC Message Sending 윈도우 간의 메세지 전송 Inter Process Communiction
SendMessage() SendMessage(대상 윈도우 핸들,전송 메세지, wParam, lParam); lParam ,wParam은 메세지의 부가정보 Param 미 사용시 NULL 값 PostMessage() PostMessage(대상 윈도우 핸들, WM_CLOSE, NULL, NULL);
12
Post VS Send Message PostMessage와 SendMessage의 차이점
[BOOL값 리턴] SendMessage는 메세지를 보낸후 그 메세지가 처리된후 리턴 [메시지의 종류별 상이한 리턴] SendMessage는 동기화가 필요할때 사용 동기화 필요없이 메세지만 보내려면 PostMessage를 이용
13
SPY++
14
Message Monitor
15
Test 목표 윈도우 핸들의 이해 IPC의 개념과 사용 함수 SPY++의 기능과 유사 함수 실습 : IE window실행 차단
탐색기 주소줄을 통한 인터넷 접속 차단 내문서 주소줄을 통한 인터넷 접속 차단
16
Report ! 수업 중 결과물인 “인터넷 접근 차단 어플리케이션”을 VB실행 파일로 포팅할 것 과제 수행 결과물
Win API 검색 및 등록 타이머 적용 타이머 메시지 핸들 적용 관련 윈도우를 찾아 종료할 것. 과제 수행 결과물 소스코드 인쇄 후 제출
17
3. 윈도우 핸들 제어
Similar presentations