2016-11-14 8 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

WM_WINDOWPOSCHANGINGためdocumentationを読みます。

アプリケーションは、WINDOWPOSのflagsメンバーの適切なビットを設定またはクリアすることで、ウィンドウの変更を防止できます。

関連する問題