プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

スタートボタンの有効化/無効化

2007年09月12日 16時29分44秒 | タスクバー関連

スタートボタンの有効化無効化は次のようにします。(戻る)

  1. タスクバーのウインドウ・ハンドルを取得
  2. (1)よりButtonというクラス名のハンドルを取得
  3. EnableWindow()関数で有効化と無効化を行う

ウインドウ・ハンドルの取得はFindWindowEx()関数を使います。
スタートボタンの有効化と無効化はEnableWindow()関数で行います。

プロトタイプ宣言

HWND FindWindow(
    LPCTSTR     lpClassName,        // ウインドウのクラス名
    LPCTSTR     lpTitleName         // ウインドウのタイトル名
);

HWND FindWindowEx(
    HWND        hwndParent,         // 親ウインドウのハンドル
    HWND        hwndChildAfter,     // 子ウインドウのハンドル
    LPCTSTR     lpClassName,        // ウインドウのクラス名
    LPCTSTR     lpTitleName         // ウインドウのタイトル名
);

BOOL EnableWindow(
    HWND        hWnd,               // ウインドウ・ハンドル
    BOOL        bEnable             // 有効化・無効化のスイッチ
);

サンプル

HWND hTaskBar;  // タスクバー用
HWND hStart;    // スタートボタン用

// タスクバーのウインドウ・ハンドルを取得
hTaskBar = FindWindow( TEXT("Shell_TrayWnd"), NULL );

// スタートボタンのウインドウ・ハンドルを取得
hStart = FindWindowEx( hTaskBar, NULL, TEXT("Button"), NULL );

// 有効化
EnableWindow( hStart, SW_SHOW );

// 無効化
EnableWindow( hStart, SW_HIDE );
  • タスクバーのウインドウ・ハンドルhTaskBarが取得できなければFindWindowEx()関数を使わないようにして下さい。
  • スタートボタンのウインドウ・ハンドルhStartが取得できなければEnableWindow()関数を使わないようにして下さい。
  • 分かりやすくするためにエラー処理は記述していません。

関連記事



コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« スタートボタンの表示/非表示 | トップ | スタートボタン文字列の取得... »
最新の画像もっと見る

コメントを投稿

タスクバー関連」カテゴリの最新記事