Я пытаюсь найти элемент списка, содержащийся в окне «Службы» («Пуск» - «Пуск» -> «Службы.msc») в Windows. Элемент списка называется «Arc Service» и его легко найти с помощью Inspect, но мой код не находит его. Это относительно простой случай, я чувствую, что должен делать что-то неправильно.rootElement-> FindFirst (...) не находит элемент, который видит Inspect
Код в вопросе:
VARIANT arcServiceNameVariant;
VariantInit(&arcServiceNameVariant);
arcServiceNameVariant.vt = VT_BSTR;
arcServiceNameVariant.bstrVal = L"Arc Service";
CComPtr<IUIAutomationCondition> arcServiceNameCondition;
hr = g_pAutomation->CreatePropertyCondition(UIA_NamePropertyId, arcServiceNameVariant, &arcServiceNameCondition.p);
if(SUCCEEDED(hr)) {
CComPtr<IUIAutomationElement> arcServiceElement;
hr = rootElement->FindFirst(TreeScope_Descendants, arcServiceNameCondition, &arcServiceElement.p);
if(SUCCEEDED(hr)) {
if(arcServiceElement.p) {
logInfo(L"Arc Service element found!");
}
} else {
logInfo(L"FindFirst failed!");
}
} else {
logInfo(L"Failed to create property condition!");
}
"Arc Service элемент найден!" ветвь никогда не вводится.
Вот подробности из Осмотреть описывающие элемент:
Любая помощь будет принята с благодарностью. Благодаря!