2009-06-27 1 views
0

외부 응용 프로그램에 작업 표시 줄에 나타나는 창이 있는지 여부를 알고 싶습니다. 가끔 오류 메시지가 나타나고 작업 표시 줄에 나타나는 프로그램이 있습니다. 메시지를 "닫으면"보이지 않게됩니다. 그러나 내가 본 것에서는 여전히 존재합니다. 그래서 그 창이 보이고 따라서 클릭 할 수 있는지를 알 수있는 유일한 방법은 작업 표시 줄에 나타나는지 확인하는 것입니다.(Win API) 외부 응용 프로그램 창이 작업 표시 줄에 있는지 확인하십시오.

어떻게하면됩니까? (비주얼 스튜디오와 함께 제공)

감사

+0

아마도 WS_VISIBLE을 확인해도 제대로 작동 할 수 있습니까? –

답변

0

먼저 사용 스파이 ++ 클래스 이름, 창 이름, 창문 계층 구조를 찾을 수 있습니다. 힌트 : 오류 메시지가 화면에 나타나면 spy ++를 실행하고 Alt + F3, Alt + D를 차례로 누른 다음 오류 메시지 창에 파인더 도구를 묻힌 다음 확인을 누릅니다.

창이 최상위 레벨 인 경우 (즉 상위가 데스크톱 인 경우) FindWindow API을 사용하십시오.

윈도우가 최상위 레벨이 아니라면 (즉 부모가 다른 윈도우 인 경우) 먼저 FindWindow를 사용하여 메인 윈도우를 찾은 다음 FindWindowEx (재귀 적으로)을 사용하여 해당 오류 메시지 윈도우를 검색하십시오.

0

작업 표시 줄을 관리하는 문서화 된 COM 인터페이스는 ITaskbarList이지만 버튼 만 추가/삭제할 수 있으며 목록의 기존 단추를 가져올 수는 없습니다.

그래서, 당신은 세 가지 옵션이 있습니다

A), 문서화되지 않은 땅으로 가서 XP 2000에서 변경 작업 표시 줄 및 하위 탭 컨트롤 또는 도구 모음 (찾기)와 볼의 IIRC이 (항목 데이터 당 문서화 이 정보와 거기에 오픈 소스 변경 작업 표시 줄 버튼 순서 응용 프로그램)

B) (WS_VISIBLE 및 그 라인을 따라 (NO 소유자 또는 WS_EX_APPWINDOW)하지 WS_EX_TOOLWINDOW) 또는 무언가에 대한 당신이 관심이 윈도우의 스타일을 확인입니다

C) 깨진 응용 프로그램의 후크/서브 클래스