2014-03-27 76 views
0

我目前正在編寫一段代碼來測試基於pyautowin的Windows應用程序。如何在Python中獲取窗口應用程序狀態

什麼時候測試是檢查我們是否可以最小化窗口。

下面是代碼:

MyApp.Start_(bittorrentApp) 
time.sleep(2) 
w_handle = pywinauto.findwindows.find_windows(title=u'Bittorrent Automation Task', class_name='WindowsForms10.Window.8.app.0.2bf8098_r15_ad1')[0] 
window = MyApp.window_(handle=w_handle) 
window.Click() 
window.ClickInput(coords = (300,10)) 
time.sleep(1) 
lStyles = win32api.GetWindowLong(GWL_STYLE); 
if(lStyles & WS_MINIMIZE): 
    print "minimized" 
else: 
    print "not minimized" 

我已經進口WIN32API,我可以最小化窗口。

順便說

lStyles = win32api.GetWindowLong(GWL_STYLE); 

返回一個錯誤,說GWL_STYLE沒有定義

任何想法?

+0

我已經導入了win32con並將GWL_STYLE更改爲win32con.GWL_STYLE,它的效果更好,但GetWindowLong抱怨缺少參數。我認爲缺少的參數應該指向窗口。我怎樣才能得到應用程序的窗口ID – user3457126

回答

0

pywinauto已經具備了所有這些功能。

if window.HasStyle(pywinauto.win32defines.WS_MINIMIZE): 
    window.Minimize() 

這都是在HwndWrapper類中。輸入window.WrapperObject()時可以看到它的所有屬性。在彈出提示。 WrapperObject()調用通常隱藏起來以提高可讀性,但它無論如何都是隱式調用的。

順便說一句,GetWindowLong(handle,style)有2個參數。

相關問題