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 | ウィンドウをアクティブにして表示する。初めてウィンドウを表示するときには、このフラグを指定せよ。 |
(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; }