다음을 통해 공유


UI 자동화 클라이언트 개요

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

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

UI 자동화 관점에서 UI 자동화 클라이언트 애플리케이션이 수행해야 하는 주요 작업은 다음과 같습니다.

  1. CUIAutomation 개체의 인스턴스를 가져옵니다.

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

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

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

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

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

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

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

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

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

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

개념

UI 자동화 트리 개요

UI 자동화 속성 개요

UI 자동화 이벤트 개요