반응형

GetForegroundWindow 현재 제일 앞의 창의 핸들을 얻어온다





GetForegroundWindow 와 GetActiveWindow의 차이점은 무엇인가요?? 




MSDN을 보면 GetActiveWindow는
This function retrieves the window handle to the active window associated with the thread that calls the function.
라고 나오고


GetForegroundWindow는 
This function returns the handle to the foreground window — the window with which the user is currently working. 
라고 나오는데요

 

문자 그대로 해석하자면

전자는 활성화된 윈도우-함수를 호출한 쓰레드와 연동된 녀석-의 핸들을 받는다 이고

후자는 가장 앞의 윈도우-즉, 현재 수행중인 윈도우-의 핸들을 받는다 입니다.

 

즉, 전자에서 NULL로 나오는 이유는 함수를 호출한 쓰레드가 그 윈도우와 관계가 없기 때문이죠.

전자의 활용은 현재 내 프로그램이 실행중이고 윈도우가 많은데

그중에 어떤 윈도우가 활성화 상태인지 알고 싶을때 쓰고

후자는 어떤 프로그램이든 관계 없이 최상위 윈도우를 알고 싶을 때 쓰는게 아닐까요?

 

굳이 나누자면

전자가 NULL이 나온다면 내 프로그램 자체가 활성화 된 윈도우가 없다...라고 판단이 가능하겠죠

반응형

+ Recent posts