Я делаю приложение формы Windows C#, которое автоматизирует другое приложение win32 с использованием классов System.Windows.Automation.Как получить доступ к элементам, которые UI Spy не видит для автоматизации приложения win32 с C#
Есть некоторые элементы, которые мне нужно читать или взаимодействовать, но UISpy не находят эти поля, он только нашел родительскую панель контейнера.
Например, этот блок кода ниже должен возвращать множество кнопок ToolStrip, но не работает:
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