我正在做一個C#窗體應用程序,使用System.Windows.Automation類自動化另一個win32應用程序。如何訪問UI Spy沒有看到用C#自動化一個win32應用程序的元素
有一些元素需要讀取或交互,但UISpy沒有找到這些字段,它只能找到父容器面板。
例如,下面這段代碼塊應該返回許多工具條按鈕,但不工作:
var mainWindow = AutomationElement.RootElement.FindChildByNamePart("Back Office Control");
var mainWindowChildren = mainWindow.FindAll(TreeScope.Children, Condition.TrueCondition);
var toolBarPanel = mainWindowChildren[1];
var toolBarItens = toolBarPanel.FindAll(TreeScope.Children, Condition.TrueCondition);
還有另一種方式來做到這一點?
感謝您的回覆,這真的很有用,您知道如何從數據網格控件中的特定單元格獲取值嗎? – rcarubbi
@rcarubbi我擔心數據網格不是標準的Windows控件,因此您可能需要深入挖掘您試圖控制的實際應用程序。它在.NET WinForms,MFC中...? – Luaan
我不知道,我想它是用Delphi編譯的...這是一個非常古老的應用程序。 – rcarubbi