유돌이

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Notice

2009. 2. 9. 21:37 C/C++/MFC
윈도우제목과 윈도우클래스명으로 윈도우핸들 찾기!

연결파일 : user32.dll
함수 :
   실수함수: FindWindowA(문자: 클래스명, 윈도우제목);
예제 : [클래스명이 'TNHForm'이고, 창 제목이 '창0'인 창을 찾습니다.]
   핸들 := 사용자함수0.FindWindowA("TNHForm", "창0");
주의 :
   만일 클래스명 및 윈도우제목도 같은 프로그램이 있다면 난감합니다;
참고 :
   더 상세한 함수를 원하신다면 FindWindowExA 를 참고해주세요.


윈도우제목과 윈도우클래스명으로 윈도우핸들 찾기[고급]!

연결파일 : user32.dll
함수 :
   실수함수: FindWindowExA(실수: 부모창, 다음창; 문자: 클래스명, 윈도우제목);
설명 :
   부모창 - 부모창의 핸들에서 자식 객체를 찾습니다. 사용 안할경우 0을 넣으시면 됩니다.
   다음창 - 여기에 특정 창의 핸들을 넣으시면 그 특정창 다음부터 창을 찾습니다.
               [동일한 클래스명과 제목명이 여러개 있을경우 편리합니다.]
               역시 사용안하시려면 0 을 넣으시면 됩니다.
   클래스명과 윈도우제목은 FindWindowA 와 동일합니다.
예제 : [클래스명이 'TNHForm'이고, 창 제목이 '창0'인 창을 찾습니다.]
   핸들 := 사용자함수0.FindWindowA(0, 0, "TNHForm", "창0");


특정 좌표에 있는 윈도우의 핸들찾기!

연결파일 : user32.dll
함수 :
   실수함수: WindowFromPoint(실수: X, Y);
예제 : [X좌표 200 Y좌표 300에 위치한 창의 핸들을 얻습니다.]
   핸들 := 사용자함수0.WindowFromPoint(200, 300);


현재 활성화된 창의 핸들 찾기!
연결파일 : user32.dll
함수 :
   실수함수: GetActiveWindow;
예제 :
   핸들 := 사용자함수0.GetActiveWindow;


현재 포커스[초점]이 있는 윈도우의 핸들찾기!

연결파일 : user32.dll
함수 :
   실수함수: GetFocus;
예제 :
   핸들 := 사용자함수0.GetFocus;


가장 앞에있는 창의 윈도우핸들 찾기!

연결파일 : user32.dll
함수 :
   실수함수: GetForegroundWindow;
예제 :
   핸들 := 사용자함수0.GetForegroundWindow;



그외, 함수를 구하는 방법에는 여러가지가 있습니다.
다음창의 핸들구하기, 이전창의 핸들구하기
부모창의핸들 구하기, 데스크탑윈도우 핸들구하기
가장 처음창의 핸들구하기, 가장 마지막창의 핸들구하기
소유 윈도우의 핸들구하기 등등..


여러가지 방법등이 있지만, 가장 많이쓰는 것들을 소개해봤습니다.

Tip & 팁!)
   가장 고질병인 ㅎ밑판등의 핸들 구하기!..
   밑판의 핸들구하려고, 창조웹브라우저의 함수를 사용하거나, 여러가지 방법으로 어렵게
   핸들속성이 없는 객체의 핸들을 구하셨나요?-_-;

   ㅎ밑판의 핸들구하기!.. :
       밑판0.활성화해;
       핸들 := 사용자함수0.GetFocus;

'C/C++/MFC' 카테고리의 다른 글

PostQuitMessage  (0) 2009.02.09
ExitProcess(), TerminateProcess(), PostQuitMessage() 차이점  (0) 2009.02.09
트레이로 가는 애니메이션 출력하기  (0) 2009.02.09
string::find와 string::npos 란?  (0) 2009.02.09
DoModal() 이란??  (0) 2009.01.14
posted by 유돌이