如何最大化非活动 window?

How to maximize an inactive window?

我有多个window,但我只想最大化其中一个window,下面是我的脚本:

import win32gui, win32con
win32gui.ShowWindow('C:/Desktop/UD.ca', win32con.SW_MAXIMIZE)

在 运行 这个脚本之后我得到以下错误:

错误

TypeError: The object is not a PyHANDLE object

有人对此有想法吗?

您需要 window 中您想要最大化的 HWND'C:/Desktop/UD.ca' 不是 HWND。将其视为 window 的唯一 ID。

举个例子,可以通过

得到前台window的HWND
hwnd = win32gui.GetForegroundWindow()

然后在对 ShowWindow

的调用中传递它
win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)

如果您想在所有可见的 Windows 中搜索包含标题的内容,请参阅 Get HWND of each Window?

这种方法对我有用,我将它与另一个代码结合起来找到我的 window,效果很好,谢谢。我正在寻找一个名为“outlook”的window,将其向前推进然后最大化。

 # maximize window
top_windows = []
win32gui.EnumWindows(windowEnumerationHandler, top_windows)
for i in top_windows:
    if "outlook" in i[1].lower():
        print(i)
        hwnd = win32gui.GetForegroundWindow()
        win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)
        break