2011-12-17 2 views
0

브라우저가 보이면 AlwaysOnTop = True 양식을 만들어야합니다. 이는 "오버레이"에 대해 일종의 정렬을 만듭니다. 논리는 다음과 같이 작동합니다.두 번째 활성 창 얻기 vb.net

  • 프로그램은 어떤 창이 활성 상태인지 확인합니다.
  • 활성 창이 특정 프로세스 인 경우 양식이 TopMost 유틸리티를 초기화하고 활성 창 자체가됩니다.
  • 특정 프로세스가 더 이상 활성 창이 아닌 경우 양식이 사라집니다.

내가했던 방법 : 양식 맨 얻고 프로그램이 활성화 된 윈도우가 무엇인지 확인 중지 : 그렇다면 브라우저가, 활성 창 경우

  • 내 프로그램 확인. (왜냐하면 내 최상위 양식이 현재 활성 창이므로).
  • 이제 프로그램은 내 양식의 창이 두 번째 활성 창인지 확인해야합니다.
  • 더 이상 브라우저가 아닌 경우 양식을 숨겨야하고 프로그램에서 활성 창을 다시 확인합니다.

은 이미 첫 번째 활성 윈도우가 무엇인지 확인하는 기능,

내가 두 번째 활성 창이 무엇인지 확인하는 기능을 얻기에 붙어 완료.

+1

Jon의 답변 –

답변

1

"두 번째 활성 창"과 같은 것이 있는지 여부는 확실하지 않습니다. 활성 또는 비활성입니다.

브라우저를 감지 한 첫 번째 단계 이후에 활성 창 검사기를 실행하지 않는 이유는 무엇입니까?

활성 창이 더 이상 양식을 인식하지 못하면 오버레이를 숨길 수 있습니다.

+0

옆에있는 클릭해야 할 속이 틱 박스가 있습니다.이 방법을 사용해 보았습니다. 그러나 내 양식은 이런 이유로 위에 머물러 있습니다 : 그것은 최상위이며, 아무 일도 일어나지 않을 것입니다. 내가 만들고있는 것은 모든 프로그램을위한 완전히 움직이는 도구 모음입니다. 해당 프로그램이 활성화되어있을 때 오버레이가 필요한 프로그램을 클릭하는 경우에도 툴바가 표시되어야합니다. 브라우저를 클릭하면 내 양식이 더 이상 활성 상태가 아니며 가장 위에 있지 않으면 백그라운드로 사라집니다. – c0ffee

+0

아 맞아요. 활성 창을 찾았습니까? 최상위 창이 아닙니다. 네가 말했듯이 그들은 미묘하게 다른 것들이다. –

+0

맞습니다, 최상위 창은 활성 창이 아니라 최상위 창입니다! 고마워, 지금 내가 할 수있는 당신의 도움을 위해. – c0ffee