|
핸들값은 여러 경로를 통해서 얻어낼 수 있으나 가장 간단히 많이 쓰이는 방법은
FindWindow 함수를 이용하는 방법입니다.
FindWindow에는 인자가 2개가 들어가는데 첫번째 인자는 클래스 이름, 두번째 인자는
캡션 이름인데, 택하셔서 편하신 걸로 찾으실 수 있습니다.
클래스 이름은 Winsight나 Spy 등의 프로그램으로 찾으실 수 있습니다. (이 두 프로그램은
BCB나 VC를 설치하시면 기본적으로 제공, 시작메뉴에 등록되어 Tools 입니다)
프로그램을 이용해서 찾는 방법은 그냥 프로그램 켜시고 작업 관리자처럼 쭉 프로세스 리스트
나오면 더블클릭해서 나오는 Class 이름만 알아두시면 됩니다.
캡션 이름을 선택하셔서 찾으실 경우에는 텍스트를 넘겨주면 해결되는데,
캡션이라는 것은 프로그램 위의 파란 줄에 나타나 있는 글자를 지칭합니다.
예를들어 계산기는 '계산기' 라고 쓰여있고, 원하시는 익스플로러는 "???????? - Microsoft
Internet Explorer" 이라고 쓰여있습니다.
HWND hdHandle = FindWindow("IEFrame", NULL);
이건 클래스이름.
HWND hdHandle = FindWindow(NULL, "볼랜드포럼 - Microsoft Internet Explorer");
이건, 캡션으로 찾는 방법 입니다.
이렇게 핸들을 hdHandle 로 넘겨 받았으면 아래와 같이 메시지를 보냅니다.
if(hdHandle)
PostMessahe(hdHandle, WM_CLOSE, NULL,NULL);
참고로 말씀드리자면, 익스플로러는 좀 특이한 케이스로 PostMessage만 받아들입니다.
일반적인 응용 프로그램은 SendMessage를 사용하시는 것이 좋을것 같습니다.
P.S : 익스플로러가 인터넷 익스플로러를 말씀하시는 것이 맞으시겠죠..? 탐색기면 낭패.. -_-
cuperido
이성제 님이 쓰신 글 :
: PostMessage(핸들값을 , WM_CLOSE, NULL, NULL);
:
: 핸들값을 넣어주면 댄다는데 어떻게 넣어야 하는건지 모르겠네요..
:
: 알려주세요!!
|