1
我试图找到Windows中服务窗口(开始 - >运行 - > Services.msc)中包含的列表项。该列表项名为“Arc Service”,可以使用Inspect轻松找到,但我的代码无法找到它。这是一个相对简单的例子,我觉得我一定在做错事。rootElement-> FindFirst(...)无法找到检测到的元素
有问题的代码是:
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!");
}
“找到弧服务元素!”分支从不输入。
下面是从检查描述元件的细节:
任何援助将不胜感激。谢谢!