これは、ウィンドウがオーバーレイされているかどうかを判断するロジックはまだありませんが、タイトル、可視性、最小化、サイズ、次のウィンドウハンドルの情報を持つ既存のウィンドウの辞書を返します。
import win32gui
import win32con
def enum_handler(hwnd, results):
results[hwnd] = {
"title":win32gui.GetWindowText(hwnd),
"visible":win32gui.IsWindowVisible(hwnd),
"minimized":win32gui.IsIconic(hwnd),
"rectangle":win32gui.GetWindowRect(hwnd), #(left, top, right, bottom)
"next":win32gui.GetWindow(hwnd, win32con.GW_HWNDNEXT) # Window handle to below window
}
def get_windows():
enumerated_windows = {}
win32gui.EnumWindows(enum_handler, enumerated_windows)
return enumerated_windows
if __name__ == "__main__":
windows = get_windows()
for window_handle in windows:
if windows[window_handle]["title"] is not "":
print "{}, {}, {}, {}".format(windows[window_handle]["minimized"],
windows[window_handle]["rectangle"],
windows[window_handle]["next"],
windows[window_handle]["title"])
マイクロソフトMSDNはは、GetWindow()とGW_HWNDNEXT https://msdn.microsoft.com/en-us/library/windows/desktop/ms633515(v=vs.85).aspx
とZORDER情報に良いarticeを持っています