我使用Visual Studio为Win32应用程序创建了一些编码的UI测试。我希望窗口大小保持一致,所以我希望它在启动应用程序后调整应用程序窗口的大小。
我正在启动这样的应用程序:
using (ApplicationUnderTest.Launch(this.UIMap.launchReaderParams.ExePath,
this.UIMap.launchReaderParams.AlternateExePath))
{
我已经研究了这样做的可能方法,并找到了一个名为SetWindowPos()
的方法。但是我不确定如何使用它,因为它需要窗口句柄作为其参数之一。我怎么能获得窗口句柄?
另外,有没有更好的方法来调整应用程序窗口的大小?
答案 0 :(得分:0)
您可以通过向CreateProcess提供STARTUPINFO结构,将位置和大小传递给测试中的应用程序。当然,现在您的问题是将STARTUPINFO
结构转换为CreateProcess
。我不知道你的Launch
方法是如何实现的,但在某些时候它会调用CreateProcess
(好的;你要做的就是适当地初始化STARTUPINFO
结构)或者ShellExecute
(不好,因为您无法指定STARTUPINFO
结构)。