2016-11-14 82 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成員中的相應位來防止更改窗口。