Win32API ウィンドウの表示状態を設定する ShowWindow

ウィンドウは、ShowWindow関数により、プログラムから表示・非表示などの状態を切り替えることができる。


ShowWindow関数のプロトタイプ

BOOL ShowWindow(
  HWND hWnd,     // ウィンドウのハンドル
  int nCmdShow   // 表示状態
);

ShowWindow関数の第二引数nCmdShowでよく使われる(と思われる)フラグ

nCmdShowの取りうる値意味
SW_FORCEMINIMIZEウィンドウを所有するスレッドがハングしても、ウィンドウを最小化する。
SW_HIDEウィンドウを非表示にし、他のウィンドウをアクティブにする
SW_MAXIMIZEウィンドウを最大化する
SW_MINIMIZEウィンドウを最小化し、Zオーダーが次のトップレベルウィンドウをアクティブにする。
SW_RESTOREウィンドウをアクティブにして表示する。最大化または最小化されていたウィンドウは元の位置とサイズに戻る。
SW_SHOWウィンドウをアクティブにして、現在の位置とサイズで表示する。
SW_SHOWMAXIMIZEDウィンドウを最大化する
SW_SHOWMINIMIZEDウィンドウを最小化する
SW_SHOWMINNOACTIVEウィンドウを現在のサイズと位置で表示する。
SW_SHOWNORMALウィンドウをアクティブにして表示する。初めてウィンドウを表示するときには、このフラグを指定せよ。




  • ShowWindow関数でタスクバーを非表示にする(Windows 7対応)

  • Windows7では、タスクバーのクラス名は「Shell_TrayWnd」であるが、他のOSでは違う名前の可能性があるので、Windows 7以外では動作しないかもしれない。)

    #include <Windows.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        //タスクバーのウィンドウハンドルを取得
        HWND hWnd = FindWindow(TEXT("Shell_TrayWnd"), NULL);
    
        //非表示
        ShowWindow(hWnd, SW_HIDE);
    
        Sleep(3000);
    
        //表示
        ShowWindow(hWnd, SW_SHOW);
    
        return 0;
    }



    参考
    http://msdn.microsoft.com/ja-jp/library/cc411211.aspx