【问题标题】:windows: disable maximize window on double-click title bar, and minimize on clicking task barwindows:在双击标题栏时禁用最大化窗口,并在单击任务栏时最小化
【发布时间】:2026-01-09 13:15:02
【问题描述】:

我想在不属于我的应用程序中创建一个窗口(即我没有源代码)不可关闭或调整大小(听起来很烦人,但这是应用户的要求...)无论如何,我用这段代码几乎可以完全做到这一点:

def set_window_style(hwnd, resizable=None, sysmenu=None):
    style = win32api.GetWindowLong(hwnd, win32con.GWL_STYLE)
    if resizable is not None:
        if resizable:
            style &= win32con.WS_SIZEBOX
        else:
            style &= ~win32con.WS_SIZEBOX
    if sysmenu is not None:
        if sysmenu:
            style &= win32con.WS_SYSMENU
        else:
            style &= ~win32con.WS_SYSMENU
    win32api.SetWindowLong(hwnd, win32con.GWL_STYLE, style)

给两个参数False 意味着它们不能拖动以调整大小或点击最大化或“x”按钮,因为它们不存在。但是,如果双击标题栏,窗口仍然是最大化的。有没有办法禁用这种行为?

此外,如果我单击任务栏中的窗口,它会最小化并恢复。我也可以禁用它吗?

【问题讨论】:

    标签: python windows winapi pywin32


    【解决方案1】:

    同时删除 WS_MINIMIZEBOXWS_MAXIMIZEBOX 样式。

    【讨论】:

      最近更新 更多