2
메모장에 문자열 출력
마우스왼쪽 버튼 눌림에 대해
나와 상관없는 메모장 윈도우에 문자열 출력
case WM_LBUTTONDOWN:
HWND hNote;
hNote = ;
HDC hdc;
hdc = GetDC(hNote);
TextOut(hdc, 0, 0, "Hello", 5);
ReleaseDC(hNote, hdc);
break;
여기에 메모장의 윈도우
핸들을 넣어주면 돼
메모장 윈도우 핸들만 알면 가능할 것 같기도 하다 신기해
운영체제는 모든 것을 알고 있다. 윈도우 핸들 쯤이야
6
case WM_LBUTTONDOWN:
HWND hNote;
hNote= (HWND)0x005409FA;
HDC hdc;
hdc = GetDC(hNote);
TextOut(hdc, 0, 0, "Hello", 5);
ReleaseDC(hNote, hdc);
break;
16진수 이므로 숫자 앞에 0x를 붙임
윈도우 핸들의 데이터 타입에 맞게 HWND로 타입 캐스팅
프레임 윈도우 핸들을 얻었을 경우클라이언트 윈도우 핸들을 얻었을 경우
7.
7
HWND FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName)
검색할 윈도우 클래스 이름
모르면 NULL
윈도우 핸들 획득
2. FindWindow 함수 이용
검색할 윈도우 타이틀 이름
윈도우를 검색하면 윈도우 핸들을, 실패하면 NULL 반환
8.
8
case WM_LBUTTONDOWN:
HWND hNote;
hNote= FindWindow(NULL, "제목없음 – 메모장 ");
HDC hdc;
hdc = GetDC(hNote);
TextOut(hdc, 0, 0, "Hello", 5);
ReleaseDC(hNote, hdc);
break;
윈도우 클래스 이름을 모르면 NULL로 설정
윈도우 핸들을 알면
다른 프로그램의 윈도우도 제어 가능
윈도우 핸들이 관건이구나