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!");
}
「找到弧服務元素!」分支從不輸入。
下面是從檢查描述元件的細節:
任何援助將不勝感激。謝謝!