2014-03-27 5 views
0

현재 pyautowin을 기반으로 Windows 응용 프로그램을 테스트하는 코드를 작성하고 있습니다.파이썬에서 창 응용 프로그램 상태를 얻는 방법

테스트의시기는 창을 최소화 할 수 있는지 확인하는 것입니다. 다음은

코드입니다 : 내가 win32api를 가져온

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" 

나는 창을 최소화 할 수 있습니다. GWL_STYLE 말하는 방법

lStyles = win32api.GetWindowLong(GWL_STYLE); 

반환 오류로

어떤 생각

정의되지 않는 이유는 무엇입니까?

+0

이제 win32con을 가져오고 GWL_STYLE을 win32con.GWL_STYLE로 변경했습니다. 더 잘 작동하지만 GetWindowLong은 누락 된 매개 변수에 대해 불평합니다. 누락 된 매개 변수가 창을 참조해야한다고 생각합니다. 애플리케이션의 창 ID를 어떻게 얻을 수 있습니까? – user3457126

답변

0

이미 모든 기능을 가지고 있습니다.

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

모두가 HwndWrapper 클래스입니다. window.WrapperObject()를 타이핑 할 때 모든 속성을 볼 수 있습니다. 팝업 힌트. WrapperObject() 호출은 일반적으로 가독성을 위해 숨겨져 있지만 어쨌든 암묵적으로 호출됩니다.

현재 GetWindowLong (handle, style)에는 2 개의 매개 변수가 있습니다.