C#等待用户与White的交互

时间:2011-10-04 18:31:30

标签: c# automation white

我正在考虑使用White来实现简单的windo ui自动化。首先,我使用System.Diagnostics.Process从我的应用程序运行外部应用程序。当外部应用程序打开时,会给我一个对话框,用户在其中插入一些文本并单击“确定”按钮。我需要等待对话框关闭或检测到单击确定按钮。我需要的是用户完成该对话框的一些指示,我可以继续我的自动化任务。

有没有办法与怀特这样做?任何其他选择也欢迎!

2 个答案:

答案 0 :(得分:1)

您可以在该对话框上设置标题,并安排计时器在主窗口的子窗口中查找子窗口。如果找不到,您可以继续。 应该工作。

答案 1 :(得分:0)

另一种方式:

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();
            });