SAMPLE
     右クリックでタスクトレイに格納  
    
    
  SYNTAX
    BOOL Shell_NotifyIcon(
                        DWORD dwMessage,
                        PNOTIFYICONDATA lpdata
                        );
  DESC
    タスクバーのステータスエリアにメッセージを送る。
    必要事項は NOTIFYICONDATA にセットする
  DESC
    16, 32, 64 のサイズは確認すみ
    ( bmp 形式はだめかも )
  #pragma comment(lib,"Shell32.lib")
    case WM_RBUTTONDOWN:
    {
       NOTIFYICONDATA ni;
       memset( &ni, 0, sizeof(NOTIFYICONDATA) );
       ni.cbSize = sizeof( NOTIFYICONDATA );
       ni.hWnd = hWnd;
       ni.uID = 1001;
       ni.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
       // icon ファイルを読み込む
       ni.hIcon = (HICON)LoadImage( 0, "test.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE  );
       // タスクトレイのアイコンにマウスイベントが発生したときにくるアプリケーション定義のメッセージ
       // WARNING
       //   WM_APP 以上の数値でないと message が通知されない
       ni.uCallbackMessage = WM_APP + 1;
       // タスクトレイにアイコンを追加したら自分のウィンドウを隠す。
       Shell_NotifyIcon( NIM_ADD, &ni );
       ShowWindow( hWnd, SW_HIDE );
       return 0;
    }
  // Application 定義のメッセージをうける
  case WM_APP + 1:
  {
    // lp にマウスイベントの情報がはいっている
    if ( lp == WM_LBUTTONDOWN ) {
      MessageBox( NULL, "left mouse button", "left mouse button", MB_OK );
      // タスクトレイからアイコンを消す。
      // 消す対象を特定するため NIM_ADD で指定した ID と同じ番号をつける。
      NOTIFYICONDATA ni;
      memset( &ni, 0, sizeof(NOTIFYICONDATA) );
      ni.uID = 1001;      
      Shell_NotifyIcon( NIM_DELETE, &ni );
      // ウィンドウを表示する。
      ShowWindow( hWnd, SW_SHOW );
    }
  }
■ TaskBar にいれる
  SYNTAX
    CloseWindow( HWND );
  DESC
    Window を最小化する
  // マウスをクリックしたら, Window を最小化してタスクバーにいれる
  if ( msg == WM_LBUTTONDOWN ) {
    CloseWindow( hWnd );
    return 0;
  }
■ IsIconic
  if ( msg == WM_TIMER ) {
    // タスクバーにあるときは TitleBar を 最小化中 にする
    if ( IsIconic(hWnd) ) {
      SetWindowText( hWnd, "最小化中" );
    }
    else {
      SetWindowText( hWnd, "ふつう" );
    }
  }