TrackFocus 샘플

업데이트: 2007년 11월

이 샘플은 Microsoft UI 자동화를 사용하여 데스크톱의 입력 포커스를 추적하고 포커스 변경에 대한 정보를 표시합니다. 이것은 응용 프로그램에서 UI 자동화를 사용하여 데스크톱의 이벤트를 추적하기 위한 시작 위치로 사용할 수 있는 단순한 콘솔 응용 프로그램입니다.

입력 포커스가 변경되면 프로그램이 상태를 알립니다. 포커스가 다른 응용 프로그램 창으로 이동하면 창 캡션에 상태를 나타냅니다. 포커스가 응용 프로그램 창 내에서 이동하면 컨트롤의 형식과 이름을 읽어 상태를 나타냅니다.

한 응용 프로그램에서 다른 응용 프로그램으로 포커스가 전환되는 시점을 알기 위해서 프로그램은 열려 있는 모든 최상위 창의 런타임 식별자 목록을 유지합니다. 각 포커스 변경 이벤트에 대한 응답으로 TreeWalker를 사용하여 부모 창을 찾은 후 마지막으로 포커스가 있었던 창과 비교합니다.

프로그램은 다음과 같은 세 가지 이벤트 형식에 등록합니다.

  • 구조 변경. 유일한 관련 이벤트는 새로운 최상위 창 추가입니다.

  • 포커스 변경. 모든 이벤트를 캡처합니다.

  • 창 닫기. 최상위 창이 닫히면 창의 런타임 ID가 목록에서 제거됩니다.

편의상 캐싱을 수행하지 않습니다. 완전한 응용 프로그램에서는 대개 응용 프로그램 창이 포커스를 받는 즉시 해당 창의 모든 바로 아래 자식을 캐시합니다.

이 샘플에서는 WPF(Windows Presentation Foundation)의 특정 기능에 대해 설명하므로 최선의 응용 프로그램 개발 방법을 따르지 않습니다. WPF(Windows Presentation Foundation) 및 Microsoft .NET Framework 응용 프로그램 개발을 위한 최선의 방법에 대한 자세한 내용은 다음에서 적절한 항목을 참조하십시오.

내게 필요한 옵션 - 액세스 가능성에 대한 유용한 정보

보안 - Windows Presentation Foundation 보안

지역화 - WPF 전역화 및 지역화 개요

Download sample

샘플 빌드

  • Windows SDK(소프트웨어 개발 키트)를 설치하고 빌드 환경 명령 창을 엽니다. 시작 메뉴에서 모든 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.

  • SDK(소프트웨어 개발 키트) 설명서 등에서 샘플을 하드 디스크 드라이브로 다운로드합니다.

  • 빌드 환경 명령 창에서 샘플을 빌드하려면 샘플의 소스 디렉터리로 이동합니다. 명령 프롬프트에 MSBUILD를 입력합니다.

  • Microsoft Visual Studio에서 샘플을 빌드하려면 샘플 솔루션이나 프로젝트 파일을 로드한 다음 Ctrl+Shift+B를 누릅니다.

샘플 실행

  • 빌드 환경 명령 창에서 컴파일된 샘플을 실행하려면 샘플 소스 코드 폴더 아래에 있는 Bin\Debug 또는 Bin\Release 폴더의 .exe 파일을 실행합니다.

  • Visual Studio에서 디버깅 기능을 사용하여 컴파일된 샘플을 실행하려면 F5 키를 누릅니다.