TrackFocus 샘플
업데이트: 2007년 11월
이 샘플은 Microsoft UI 자동화를 사용하여 데스크톱의 입력 포커스를 추적하고 포커스 변경에 대한 정보를 표시합니다. 이것은 응용 프로그램에서 UI 자동화를 사용하여 데스크톱의 이벤트를 추적하기 위한 시작 위치로 사용할 수 있는 단순한 콘솔 응용 프로그램입니다.
입력 포커스가 변경되면 프로그램이 상태를 알립니다. 포커스가 다른 응용 프로그램 창으로 이동하면 창 캡션에 상태를 나타냅니다. 포커스가 응용 프로그램 창 내에서 이동하면 컨트롤의 형식과 이름을 읽어 상태를 나타냅니다.
한 응용 프로그램에서 다른 응용 프로그램으로 포커스가 전환되는 시점을 알기 위해서 프로그램은 열려 있는 모든 최상위 창의 런타임 식별자 목록을 유지합니다. 각 포커스 변경 이벤트에 대한 응답으로 TreeWalker를 사용하여 부모 창을 찾은 후 마지막으로 포커스가 있었던 창과 비교합니다.
프로그램은 다음과 같은 세 가지 이벤트 형식에 등록합니다.
구조 변경. 유일한 관련 이벤트는 새로운 최상위 창 추가입니다.
포커스 변경. 모든 이벤트를 캡처합니다.
창 닫기. 최상위 창이 닫히면 창의 런타임 ID가 목록에서 제거됩니다.
편의상 캐싱을 수행하지 않습니다. 완전한 응용 프로그램에서는 대개 응용 프로그램 창이 포커스를 받는 즉시 해당 창의 모든 바로 아래 자식을 캐시합니다.
이 샘플에서는 WPF(Windows Presentation Foundation)의 특정 기능에 대해 설명하므로 최선의 응용 프로그램 개발 방법을 따르지 않습니다. WPF(Windows Presentation Foundation) 및 Microsoft .NET Framework 응용 프로그램 개발을 위한 최선의 방법에 대한 자세한 내용은 다음에서 적절한 항목을 참조하십시오.
내게 필요한 옵션 - 액세스 가능성에 대한 유용한 정보
보안 - Windows Presentation Foundation 보안
지역화 - WPF 전역화 및 지역화 개요
샘플 빌드
Windows SDK(소프트웨어 개발 키트)를 설치하고 빌드 환경 명령 창을 엽니다. 시작 메뉴에서 모든 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.
SDK(소프트웨어 개발 키트) 설명서 등에서 샘플을 하드 디스크 드라이브로 다운로드합니다.
빌드 환경 명령 창에서 샘플을 빌드하려면 샘플의 소스 디렉터리로 이동합니다. 명령 프롬프트에 MSBUILD를 입력합니다.
Microsoft Visual Studio에서 샘플을 빌드하려면 샘플 솔루션이나 프로젝트 파일을 로드한 다음 Ctrl+Shift+B를 누릅니다.
샘플 실행
빌드 환경 명령 창에서 컴파일된 샘플을 실행하려면 샘플 소스 코드 폴더 아래에 있는 Bin\Debug 또는 Bin\Release 폴더의 .exe 파일을 실행합니다.
Visual Studio에서 디버깅 기능을 사용하여 컴파일된 샘플을 실행하려면 F5 키를 누릅니다.