C# 윈도우핸들 얻기 FindWindow

내가 만든 프로그램으로 다른 윈도우(프로그램)를 제어하고자 할때

 

반드시 필요한 함수, FindWindow 입니다.

 

내가 제어하고 싶은 윈도우를 지지고 볶고 하게 해줄 거의 모든 함수들이 해당 윈도우의 핸들을 인자로 요구합니다.

FindWindow는 바로 그 핸들을 만들어줍니다.

 

[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName, string lpWindowName);

이렇게 선언해주고

첫번째 인자는 해당 윈도우의 클래스명인데 null로 생략 가능합니다.

두번재 인자 lpWindowName에 해당 윈도우의 Title을 문자열 그대로 넘겨줍니다.

 

창 제목이 LOL이라면

 

int hWnd = FindWindow(null, "LOL");

hwnd에 LOL이라는 윈도우의 핸들을 담았습니다.

이 핸들을 LOL윈도우의 각종 정보를 얻거나 제어할 수 있는 함수들의 인자로 던져주면 됩니다.

 

대략의 흐름은

 

핸들을 얻는다 -> 핸들로 정보를 가져온다 -> 제어한다

 

에서 핸들을 얻는다 부분입니다.

 

 

'.NET > WinAPI' 카테고리의 다른 글

C# 키보드이벤트  (0) 2014.01.19
C# 마우스이벤트  (0) 2014.01.18
C# 윈도우 위치,크기 정보얻기 GetWindowPlacement  (0) 2014.01.06
C# 핫키 설정 RegisterHotKey  (0) 2013.12.28
C#에 Windows API 사용하기  (0) 2013.12.19