小编Sno*_*all的帖子

使用 Python Windows 扩展获取窗口 Z 顺序

有没有办法使用Python Windows 扩展来获取窗口的 z 顺序?或者,有没有办法使用另一个模块来做到这一点?通常的方法是使用GetTopWindowand GetNextWindow,但这些函数都没有出现在win32gui模块中。

目前我正在这样做,但它没有考虑到 Windows 的 z 顺序:

import win32gui
def get_windows():
    def callback(hwnd, lst):
        lst.append(hwnd)
    lst = []
    win32gui.EnumWindows(callback, lst)
    return lst
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要这样的东西:(这不起作用)

import win32gui
import win32con
def get_windows():
    '''Returns windows in z-order (top first)'''
    lst = []
    top = win32gui.GetTopWindow()
    if top is None: return lst
    lst.append(top)
    while True:
        next = win32gui.GetNextWindow(lst[-1], win32con.GW_HWNDNEXT)
        if next is None: break
        lst.append(next)
    return lst
Run Code Online (Sandbox Code Playgroud)

但是,缺少GetTopWindowGetNextWindow功能,所以我不能。

更新:

我想我寻求帮助的速度有点太快了。我用 …

python winapi pywin32 z-order

6
推荐指数
1
解决办法
1984
查看次数

标签 统计

python ×1

pywin32 ×1

winapi ×1

z-order ×1