Как восстановить тип управления элементом автоматизации с помощью простого C

#c #com #ui-automation

#c #com #пользовательский интерфейс-автоматизация

Вопрос:

Цель: получить имя типа элемента управления в виде строки (т.е. Кнопка, флажок, меню, элемент меню и т. Д.) Из элемента Uiautomation с помощью простого C

Пока у меня есть следующий код:

 #define COBJMACROS
#include "UiAutomationClient.h"
#include "UiAutomationCore.h" 

POINT pt;
IUIAutomation *pAutomation = NULL;
IUIAutomationElement *element = NULL;
CONTROLTYPEID element_type;

GetCursorPos(amp;pt);
hr = IUIAutomation_ElementFromPoint(pAutomation, pt, amp;element);
if(SUCCEEDED(hr) amp;amp; element != NULL){
   hr = IUIAutomationElement_get_CurrentControlType(element,amp;element_type);
   if(SUCCEEDED(hr)){
     ????    
   }
}

  

Насколько я понял, с помощью get_CurrentControlType я получаю идентификатор типа элемента управления, но меня интересует имя этого типа элемента управления. Кто-нибудь может знать, как это сделать?. Tks заранее

Комментарии:

1. IUIAutomationElement_get_CurrentLocalizedControlType ?

2. @Simon Mourier спасибо за вашу помощь

Ответ №1:

Вместо этого вы могли бы использовать IUIAutomationElement::get_CurrentLocalizedControlType .

 BSTR* retVal;
element->get_CurrentLocalizedControlType(amp;retVal);