如何在Python中获取窗口应用程序状态

0 投票
1 回答
1914 浏览
提问于 2025-04-18 00:12

我现在正在写一段代码,用来测试基于pyautowin的Windows应用程序。

测试的内容之一是检查我们是否可以最小化窗口。

下面是代码:

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未定义。

有什么想法吗?

1 个回答

0

pywinauto已经具备了所有这些功能。

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

这些功能都在HwndWrapper类里面。你可以在输入window.WrapperObject()时,在弹出的提示中看到它的所有属性。WrapperObject()这个调用通常为了让代码更简洁而被隐藏,但实际上它还是会被隐式调用。

顺便提一下,GetWindowLong(handle, style)这个函数有两个参数。

撰写回答