2016-11-14 85 views
-3

我想阻止我的win32窗口以编程方式最小化,所以我做了下面,但它不工作。请让我知道任何其他解决方案,或者如果我在这里做错了什么。停止win32窗口以编程方式最小化

测试我在2秒后最小化了我的窗口&试图捕捉那个并最大化我的窗口。但它没有按预期工作。

下面

是代码。

case WM_SYSCOMMAND: 
      if ((wParam & 0xFFF0) == SC_MINIMIZE) 
      { 
       ShowWindow(hWnd, SW_SHOWMAXIMIZED); 
       UpdateWindow(hWnd); 
      } 
      else 
       DefWindowProc(hWnd, message, wParam, lParam); 
      break; 
     default: 
      return DefWindowProc(hWnd, message, wParam, lParam); 
    } 
    return 0; 
} 

//show & hide for every 2sec 
VOID CALLBACK timerelapsed(HWND hWnd, UINT, UINT_PTR, DWORD) 
{ 
    ShowWindow(hWnd, SW_SHOWMINIMIZED); 
} 
+3

为什么不简单地禁用最小化按钮? – Ari0nhh

+0

我正在用ShowWindow(hWnd,SW_SHOWMINIMIZED)语法最小化我的窗口; thnx我编辑我的问题 – NDestiny

+0

从窗口样式排除'WS_MINIMIZEBOX' –

回答

1

阅读documentationWM_WINDOWPOSCHANGING。特别是:

应用程序可以通过设置或清除WINDOWPOS的flags成员中的相应位来防止更改窗口。