AutoIT WinWaitActive问题

时间:2010-05-13 09:29:10

标签: c# autoit

我有一个带有Windows窗体的C#应用​​程序,我需要使用内部软件(mySoftware)自动打开文件。我有以下代码如下。我的理解是WinWaitActive()应该等到我点击内部软件窗口(mySoftwareWindow)并使其激活,然后代码移动到下一行并打开指定的xml文件(下面代码中的第6行)。相反,发生的事情是下一行代码甚至在我可以使内部软件处于活动状态之前运行,从而在当前活动窗口上运行Open按钮(下面的代码中的第6行),在这种情况下是C#应用程序窗体。你认为这里出了什么问题?谢谢!

 aut = new AutoItX3Lib.AutoItX3Class();
 aut.WinWaitActive("mySoftwareWindow", "", 1);
 aut.WinMenuSelectItem("mySoftwareWindow", "", "&File", "&Open", "", "", "", "", "", "");
 aut.Send("C:\\test.xml", 0);
 //click the Open button
 aut.Send("!o", 0);
 aut.Send("{ENTER}", 0); 

1 个答案:

答案 0 :(得分:2)

超时非常短,1秒是不够的。超时至少是最坏情况的10倍,在这里至少要20。 一定要检查函数的返回值,如果它返回失败就没有意义继续。