我將一些UI自動化從System.Windows.Automation API移植到本機UIAutomationClient API,並遇到了感覺像是一個簡單問題,但找不到解決方案。Windows UIAutomation創建PropertyCondition
我需要找到使用代碼沿着這些線路的用戶界面元素:
IUIAutomationElement namedElement = currentWindow.FindFirst(UIAutomationClient.TreeScope.TreeScope_Descendants, nameCondition);
這裏,nameCondition對象應在IUIAutomationCondition的元素的名稱與之進行比較的字符串。
使用舊System.Windows.Automation我會寫爲:
PropertyCondition nameCondition = new PropertyCondition(AutomationElement.NameProperty, "name");
但是,我不能工作了如何使用UIAutomation API來創建PropertyCondition。我見過的唯一的例子似乎表明這些方針的東西:
IUIAutomationCondition nameCondition = cuiAutomation.CreatePropertyCondition(propertyIdName, "name");
這裏,propertyIdName應該是代表NameProperty一個int。但是,我無法弄清楚如何在這裏得到正確的int。我認爲它必須在UIAutomation API中的某個地方作爲常量,但無法找到它。