C # ожидание взаимодействия пользователя с белым цветом

#c# #automation #white-framework

#c# #автоматизация #white-framework

Вопрос:

Я подумываю об использовании белого цвета для моей простой автоматизации пользовательского интерфейса windos. Сначала я запускаю внешнее приложение из своего приложения, используя System.Diagnostics.Process . Когда откроется внешнее приложение, я получу диалоговое окно, в котором пользователь должен вставить некоторый текст и нажать кнопку OK. Что мне нужно, так это подождать, пока диалоговое окно не будет закрыто или не будет нажата кнопка OK. Все, что мне нужно, это некоторое указание на то, что пользователь закончил с этим диалогом, и я могу продолжить выполнение своих задач автоматизации.

Есть ли какой-нибудь способ сделать это с белым? Любые другие варианты также приветствуются!

Ответ №1:

Вы можете настроить заголовок для этого диалогового окна и запланировать таймер для поиска дочернего окна среди дочерних элементов главного окна. Если он не найден, вы можете продолжить. Должно сработать.

Ответ №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();
            });