如何使用C#调整UIA窗口的UIA自动窗口?

时间:2013-07-26 01:04:26

标签: c# visual-studio-2012 automation ui-testing

我使用Visual Studio为Win32应用程序创建了一些编码的UI测试。我希望窗口大小保持一致,所以我希望它在启动应用程序后调整应用程序窗口的大小。

我正在启动这样的应用程序:

using (ApplicationUnderTest.Launch(this.UIMap.launchReaderParams.ExePath,
                                   this.UIMap.launchReaderParams.AlternateExePath))   
{

我已经研究了这样做的可能方法,并找到了一个名为SetWindowPos()的方法。但是我不确定如何使用它,因为它需要窗口句柄作为其参数之一。我怎么能获得窗口句柄?

另外,有没有更好的方法来调整应用程序窗口的大小?

1 个答案:

答案 0 :(得分:0)

您可以通过向CreateProcess提供STARTUPINFO结构,将位置和大小传递给测试中的应用程序。当然,现在您的问题是将STARTUPINFO结构转换为CreateProcess。我不知道你的Launch方法是如何实现的,但在某些时候它会调用CreateProcess(好的;你要做的就是适当地初始化STARTUPINFO结构)或者ShellExecute(不好,因为您无法指定STARTUPINFO结构)。