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

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

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


person hs2d    schedule 04.10.2011    source источник


Ответы (2)


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

person Tigran    schedule 04.10.2011

По-другому:

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();
            });
person Taras Kozubski    schedule 17.02.2017