C# ждать взаимодействия пользователя с белым
Я думаю об использовании White для моей простой системы автоматизации пользовательского интерфейса. Сначала я запускаю внешнее приложение из своего приложения, используя System.Diagnostics.Process
, Когда откроется внешнее приложение, появится диалоговое окно, в котором пользователь должен вставить текст и нажать кнопку "ОК". Что мне нужно, это дождаться закрытия диалогового окна или обнаружить нажатие кнопки ОК. Все, что мне нужно, - это какое-то указание на то, что пользователь закончил с этим диалогом, и я могу продолжить свои задачи автоматизации
Есть ли способ сделать это с белыми? Любые другие варианты также приветствуются!
2 ответа
Вы можете установить заголовок в этом диалоговом окне и назначить таймер для поиска дочернего окна среди дочерних элементов главного окна. Если он не найден, вы можете продолжить. Должно работать.
По-другому:
using System.Windows.Automation;
Automation.AddAutomationEventHandler(
WindowPattern.WindowClosedEvent,
AutomationElement.RootElement, // set correct value here
TreeScope.Children, // check the value is correct
(sender, e) =>
{
var element = sender as AutomationElement;
if (element.Current.Name != "Form Title")
return;
Automation.RemoveAllEventHandlers(); // remove event handler
// Your code here
// CodeToRunAfterWindowClosed();
});