C # ждать взаимодействия пользователя с белым - PullRequest
1 голос
/ 04 октября 2011

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

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

Ответы [ 2 ]

1 голос
/ 04 октября 2011

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

0 голосов
/ 17 февраля 2017

Другой способ:

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();
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...