windows:双击标题栏时禁用最大化窗口,并在单击任务栏时最小化

时间:2011-02-22 17:57:11

标签: python windows winapi pywin32

我想在不是我的应用程序中创建一个窗口(即我没有源代码)不可关闭或可调整大小(听起来很烦人,但它是应用户的要求......)无论如何,我我已经设法用这段代码完全实现了这一点:

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”按钮,因为它们不在那里。但是,如果双击标题栏,则窗口仍然最大化。有没有办法禁用这种行为?

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

1 个答案:

答案 0 :(得分:1)

同时删除WS_MINIMIZEBOXWS_MAXIMIZEBOX样式。