UI 자동화 요소에서 속성 검색
IUIAutomationElement 개체의 속성에는 일반적으로 컨트롤인 UI 요소에 대한 정보가 포함됩니다. 요소의 속성은 제네릭입니다. 즉, 컨트롤 형식에만 해당되지 않습니다. 요소의 컨트롤 관련 속성은 해당 컨트롤 패턴 인터페이스에 의해 노출됩니다.
Microsoft UI 자동화 속성은 읽기 전용입니다. 컨트롤의 속성을 설정하려면 적절한 컨트롤 패턴의 메서드를 사용해야 합니다. 예를 들어 IUIAutomationScrollPattern::Scroll 을 사용하여 스크롤 창의 위치 값을 변경합니다.
성능을 향상시키기 위해 요소를 검색할 때 컨트롤 및 컨트롤 패턴의 속성 값을 캐시할 수 있습니다. 자세한 내용은 UI 자동화 캐싱 속성 및 컨트롤 패턴을 참조하세요.
이 항목에는 다음과 같은 섹션이 포함되어 있습니다.
속성 ID
속성 식별자는 Uiautomationclient.h에 정의됩니다. 속성 변경 이벤트를 구독하고, 속성 값을 검색하고, 속성 조건을 생성할 때 속성을 지정하는 데 사용됩니다. 또한 속성 식별자는 IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent 가 호출되면 변경된 속성을 식별합니다.
UI 자동화 속성 식별자 목록은 속성 식별자를 참조하세요.
속성 조건
속성 ID는 UI 자동화 요소를 찾는 데 사용되는 IUIAutomationPropertyCondition 개체를 생성하는 데 사용됩니다. 예를 들어 특정 이름을 가진 요소 또는 사용하도록 설정된 모든 컨트롤을 찾을 수 있습니다. 각 속성 조건은 속성 식별자와 속성이 일치해야 하는 값을 지정합니다.
자세한 내용은 다음 참조 항목을 참조하세요.
- IUIAutomation::CreatePropertyCondition
- IUIAutomation::CreatePropertyConditionEx
- IUIAutomationElement::FindFirst
- IUIAutomationElement::FindAll
속성 검색
일부 제네릭 속성과 모든 컨트롤 패턴 속성은 IUIAutomationElement 또는 컨트롤 패턴 인터페이스에서 속성으로 사용할 수 있으며 IUIAutomationElement::CurrentName 또는 CachedDockPosition과 같은 접근자를 사용하여 검색할 수 있습니다.
또한 다음 방법 중 하나를 사용하여 현재 또는 캐시된 속성(컨트롤 패턴 속성 제외)을 검색할 수 있습니다.
이러한 메서드는 전체 범위의 속성에 대한 성능과 액세스를 약간 향상합니다. 그러나 값은 VARIANT 구조에서 반환되는 반면 개별 속성 접근자는 값을 적절한 형식으로 캐스팅합니다.
기본 속성 값
UI 자동화 공급자가 속성을 구현하지 않는 경우 UI 자동화 기본값을 제공할 수 있습니다. 예를 들어 컨트롤의 공급자가 UIA_HelpTextPropertyId 식별된 속성을 지원하지 않는 경우 UI 자동화 빈 문자열을 반환합니다. 마찬가지로 공급자가 UIA_IsDockPatternAvailablePropertyId 식별된 속성을 지원하지 않으면 UI 자동화FALSE를 반환합니다.
IUIAutomationElement::GetCurrentPropertyValue와 GetCurrentPropertyValueEx(및 유사한 메서드 쌍 간)의 차이점은 "Ex" 메서드가 반환할 기본값이 없음을 지정할 수 있다는 것입니다. 이 경우 반환 값은 속성이 지원되지 않음을 나타내는 특수한 고유 상수입니다. 이 값을 수신할 때 애플리케이션은 자체 값을 제공하거나 속성을 무시할 수 있습니다.
관련 항목