2014-03-27 84 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个参数。

相关问题