2013-03-04 7 views
1

맨 위 창이 있습니다. 나는 다른 최상위 창을 통해 최상위 수 있지만 전체 화면 창을 포함 할 필요가 없습니다 : 특히 {윈도우 미디어 플레이어, 유튜브 플래시 플레이어, RDP} 지속적인 검사와 솔루션이매초 수동 검사하지 않고 전체 화면 모드 스위치를 감지하십시오.

:

  • 가 내가 확인하는 매 YYY 밀리 초마다 화면 크기와 동일한 크기를 갖는 다른 최상위 창 (동일한 디스플레이에 있음)이 있습니다.
  • 만약 그렇다면 : 내 창을 최상단이 아닌 것으로 만들고 그렇지 않으면 최상위로 만듭니다.

그러나 저는 수십 개의 시스템 호출을 수행하지 않고 초당 최상위 창 전체 트리를 통과하는 자원 소모가 적은 솔루션을 찾고 있습니다.

제가 프로세스에 후크를 삽입 할 수있는 WM_

를 처리 할 수있다.

문제 :

동일한 데스크톱에서 전체 화면 창을 검색하는 방법은 무엇입니까?

들어오는 WM_ (s) 또는 연속 검사 이외의 기술을 사용하여 전체 화면 모드를 감지하는 방법은 무엇입니까?

+2

"다른 최상위 창의 맨 위에 있어야합니다 ..."두 프로그램이이 작업을 수행 한 경우를 상상해보십시오. http://blogs.msdn.com/b/oldnewthing/archive/2011/03/10/10138969.aspx – jamesdlin

+0

맨 위 - 문제가 아닙니다. 문제 : 전체 화면 창 (특히 최상위 창은 아니지만 도구 창) 인 Youtube 플래시 플레이어를 감지하는 방법입니다. –

+0

나는 그것을 알고있다. (이것이 왜 논평이고 답이 아니다.) 나는 다른 모든 맨 위 창문보다 맨 위 창에 서려는 목표를 가지고 있다고 말하는 것은 무의미합니다. – jamesdlin

답변

0

CBT 후크 (WH_CBT)를 설정하려면 SetWindowsHookEx()을 확인하십시오. 특히 CBTProc()에서 창을 이동하거나 크기를 조정할 때 WHCBT_MOVESIZE 알림이 표시됩니다.