我有多个窗口,但是我只想最大化其中一个窗口,下面是我的脚本:
import win32gui, win32con
win32gui.ShowWindow('C:/Desktop/UD.ca', win32con.SW_MAXIMIZE)
运行此脚本后,出现以下错误:
错误
TypeError: The object is not a PyHANDLE object
有人对此有想法吗?
答案 0 :(得分:1)
您需要最大化窗口的HWND。 'C:/Desktop/UD.ca'
不是HWND。将其视为窗口的唯一ID。
作为示例,您可以通过
获取前景窗口的HWNDhwnd = 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