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같은 접근자를 사용하여 검색할 수 있습니다.
또한 다음 방법 중 하나를 사용하여 현재 또는 캐시된 속성(컨트롤 패턴 속성 제외)을 검색할 수 있습니다.
- GetCurrentPropertyValue
- GetCurrentPropertyValueEx
- GetCachedPropertyValue
- GetCachedPropertyValueEx
이러한 메서드는 전체 속성 범위에 약간 더 나은 성능과 액세스를 제공합니다. 그러나 값은 VARIANT 구조체에서 반환되는 반면 개별 속성 접근자는 해당 형식으로 값을 캐스팅합니다.
기본 속성 값
UI 자동화 공급자가 속성을 구현하지 않는 경우 UI 자동화는 기본값을 제공할 수 있습니다. 예를 들어 컨트롤 공급자가 UIA_HelpTextPropertyId식별된 속성을 지원하지 않는 경우 UI 자동화는 빈 문자열을 반환합니다. 마찬가지로, 공급자가 UIA_IsDockPatternAvailablePropertyId로 식별되는 속성을 지원하지 않으면, UI 자동화는 FALSE를 반환합니다.
IUIAutomationElement::GetCurrentPropertyValue 및 GetCurrentPropertyValueEx 간의 차이점은 "Ex" 메서드가 기본값이 반환되지 않음을 지정할 수 있다는 점입니다. 이 경우 반환 값은 속성이 지원되지 않음을 나타내는 특수한 고유 상수입니다. 이 값을 받으면 애플리케이션에서 자체 값을 제공하거나 속성을 무시하기만 하면됩니다.
관련 항목