我有一个带有windows窗体的C#应用程序,通过它我需要使用内部软件( mySoftware)自动打开文件。我有下面的代码。我的理解是,WinWaitActive()应该等到我单击内部软件窗口(mySoftwareWindow)并激活它之后,代码才会移到下一行并打开指定的xml文件(下面代码中的第6行)。实际上,下一行代码甚至在我可以激活内部软件之前就已经运行了,从而在当前活动窗口(在本例中是C#应用程序表单)上运行Open按钮(下面代码中的第6行)。你认为这里出了什么问题?谢谢!
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); 发布于 2010-05-13 17:35:50
超时时间很短,1秒还不够。在最坏的情况下至少暂停10倍,在这里至少20倍。并且一定要检查函数的返回值,如果返回失败就没有继续的意义了。
https://stackoverflow.com/questions/2825664
复制相似问题