2013-07-26 38 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函數。我通過搜索當前進程來返回應用程序句柄。 –