我一直致力于从 EnumWindows 中过滤掉窗口,仅包括最小化或打开到列表的窗口。
代码
def winEnumHandler(hwnd, ctx):
title = win32gui.GetWindowText(hwnd)
# Append HWND to list
if win32gui.IsWindowVisible(hwnd) and title != '':
app = ApplicationWindow(hwnd, title)
applications.append(app)
def scanApplication():
applications.clear()
win32gui.EnumWindows(winEnumHandler, None)
return applications
预期/实际
此代码的问题在于,它无法正确过滤掉通过以下方式找到的一些窗口EnumWindows:例如,目前我在计算机上打开了 Chrome、IDE 和 Discord,并且只期望这些窗口出现在应用程序列表中。但是,我不仅获得这些窗口,还获得后台任务,例如:计算器、邮件、Geforce Overlay 等...这些后台任务处于活动状态,但桌面上没有窗口,也没有最小化。我怎样才能过滤掉后台任务EnumWindows?谢谢阅读!
有只小跳蛙
相关分类