2013-07-26 23 views
0

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

我启动应用程序是这样的:

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

我一直看着这样的可能方法,发现了一个名为SetWindowPos()方法。但是我不确定如何使用它,因为它需要窗口句柄作为其参数之一。我怎样才能获得窗户把手?

此外,有没有更好的方式来调整我的应用程序窗口?

回答

0

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

+0

这听起来很稳固,但我最终使用了SetWindowsPos函数。我通过搜索当前进程来返回应用程序句柄。 –