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();
            });
Другие вопросы по тегам