MSDN - http://msdn.microsoft.com/ko-kr/library/ykz4yxt5.aspx
FindWindow 함수로 창의 클래스(Class) , 윈도우 캡션 (Caption) 을 검색하여 얻어옵니다.
[비주얼 베이직 예제]
먼저 API를 선언합니다.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
함수부터 보겠습니다.
ByVal lpClassName As String ::: 클래스 네임을 조건입니다. 모두 검색할때에는 vbNullString 을 사용합니다.
ByVal lpWindowName As String : 윈도우 네임의 조건입니다. 모두 검색할때에는 vbNullString 을 사용합니다.
일단 메모장의 핸들을 얻어오는 간단한 예제를 만들어보아요
먼저, 메모장의 Class 네임을 알아야합니다. 간단하게 Spy++로 검색하시면됩니다.
위와 같이 클래스 네임이 "Notepad"로 됩니다.
자 이젠 작성을 해봅시다.
먼저 핸들을 저장할 변수를 선언합니다.
Dim hwdNotePad As Long
그리고 바로 윈도우핸들을 얻어옵니다.
hwdNotePad = FindWindow(vbNullString, "Notepad")
반환값은 실패시 0을 반환하며, 성공하면 찾은 핸들을 반환합니다.
[Visual C++]
먼저 <windows.h>헤더를 Include시킵니다.
#include <windows.h>
핸들을 저장할변수를 선언하죠.
HWND hwdNotePad;
핸들을 얻어와보죠.
hwndNotePad = FindWindow("Notepad",NULL);
비베와는 다르게 NULL을 사용합니다.