如何最大化非活动 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
我有多个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的HWNDhwnd = 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