如何最大化非活动窗口?

时间:2019-02-28 04:17:14

标签: python python-3.6 pywin32 win32gui

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

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

运行此脚本后,出现以下错误:

错误

TypeError: The object is not a PyHANDLE object

有人对此有想法吗?

2 个答案:

答案 0 :(得分:1)

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

作为示例,您可以通过

获取前景窗口的HWND
hwnd = win32gui.GetForegroundWindow()

,然后将其传递给ShowWindow

win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)

如果要在所有可见的Windows中搜索包含标题的窗口,请参见Get HWND of each Window?

答案 1 :(得分:0)

这种方法对我有用,我将其与另一个代码结合起来找到了我的窗口,并且很好用,谢谢。我正在寻找一个名为“ outlook”的窗口,将其显示然后最大化。

 # 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