UI 자동화 클라이언트 개요

이 항목에서는 Microsoft UI 자동화 클라이언트 애플리케이션 구현과 관련된 기본 작업에 대해 설명합니다.

UI 자동화 클라이언트는 UI 자동화 API를 사용하여 UI 요소에 대한 정보에 액세스하거나 UI 요소의 프로그래밍 방식 조작을 통해 애플리케이션을 제어하는 모든 애플리케이션입니다. UI 자동화 클라이언트에는 UI 요소에 대한 정보를 검색하고 장애가 있는 사용자에게 사용할 수 있는 방식으로 정보를 제공하는 화면 읽기 프로그램과 같은 보조 기술 애플리케이션이 포함됩니다. 또한 마우스와 키보드 대신 UI 자동화 사용하여 다른 애플리케이션을 "구동"하는 음성 인식 프로그램 및 소프트웨어 테스트 도구와 같은 애플리케이션도 포함됩니다.

UI 자동화 관점에서 UI 자동화 클라이언트 애플리케이션이 수행해야 하는 기본 작업에는 다음이 포함됩니다.

  1. CUIAutomation 개체의 instance 가져옵니다.

    UI 요소에 대한 정보와 UI 요소 기능에 대한 액세스는 UI 자동화 공급자가 클라이언트에 노출합니다. 그러나 클라이언트 애플리케이션은 공급자와 직접 작동하지 않습니다. 대신 핵심 서비스는 클라이언트와 공급자 사이에 있습니다. 클라이언트가 UI 자동화 API를 호출할 때 실제로 UI 자동화 핵심 서비스를 호출하고 공급자가 구현한 인터페이스를 호출합니다.

    핵심 UI 자동화 서비스에 액세스하려면 클라이언트가 CUIAutomation 개체의 instance 만들고 개체에 대한 IUIAutomation 인터페이스 포인터를 검색해야 합니다. IUIAutomation 포인터는 클라이언트에서 사용할 수 있는 모든 UI 자동화 기능에 액세스하는 클라이언트의 키입니다. 자세한 내용은 CUIAutomation 개체 만들기를 참조하세요.

  2. UI 자동화 트리에서 UI 요소에 대한 IUIAutomationElement 인터페이스를 검색합니다.

    UI 자동화 개별 UI 요소를 IUIAutomationElement 인터페이스를 구현하는 개체로 노출합니다. 요소에 대한 정보는 요소의 IUIAutomationElement 인터페이스에 의해 노출되는 속성과 요소의 컨트롤 패턴에 대한 액세스를 통해 클라이언트에서 사용할 수 있습니다. 컨트롤 패턴 인터페이스에 의해 노출되는 속성 및 메서드는 컨트롤 관련 정보 및 기능에 대한 액세스를 제공합니다.

    UI 자동화 요소 개체는 UI 자동화 트리라는 계층적 트리 구조로 클라이언트에 제공됩니다. 클라이언트는 IUIAutomation 인터페이스에서 노출되는 메서드를 사용하여 트리의 UI 요소에 대한 IUIAutomationElement 인터페이스를 검색하고 트리에서 특정 조건 집합과 일치하는 요소를 검색하는 데 사용되는 다른 인터페이스를 검색합니다. 자세한 내용은 UI 자동화 요소 가져오기를 참조하세요.

    UI 요소를 검색할 때 클라이언트는 UI 자동화 캐싱 기능을 사용하여 시스템 성능을 향상시킬 수 있습니다. 캐싱을 사용하면 클라이언트가 요소와 함께 검색할 속성 및 컨트롤 패턴 집합을 지정할 수 있습니다. 단일 interprocess 호출에서 UI 자동화 요소와 지정된 속성 및 컨트롤 패턴을 검색한 다음 캐시에 저장합니다. 캐싱이 없으면 각 속성 또는 컨트롤 패턴을 검색하려면 별도의 interprocess 호출이 필요합니다. 자세한 내용은 UI 자동화 캐싱 속성 및 컨트롤 패턴을 참조하세요.

  3. UI 요소 속성을 검색하고 UI 요소 기능을 호출합니다.

    클라이언트는 IUIAutomationElement 인터페이스를 사용하여 요소의 속성 및 컨트롤 패턴을 검색합니다. 인터페이스에는 각 속성 검색 메서드의 두 가지 버전이 포함됩니다. 한 버전은 캐시에서 속성을 검색하고 다른 버전은 공급자에서 속성을 검색합니다. 자세한 내용은 UI 자동화 요소에서 속성 검색을 참조하세요.

  4. UI 자동화 이벤트에 응답합니다.

    UI 자동화 공급자는 이벤트를 발생시켜 클라이언트에 UI의 변경 내용 또는 중요한 발생을 알립니다. 클라이언트는 필요한 이벤트를 확인한 다음 이벤트 처리 인터페이스를 구현하고 등록하여 해당 이벤트를 수신하고 처리해야 합니다. 자세한 내용은 UI 자동화 이벤트 구독을 참조하세요.

개념

UI 자동화 트리 개요

UI 자동화 속성 개요

UI 자동화 이벤트 개요