スタートボタンの有効化と無効化は次のようにします。(戻る)
- タスクバーのウインドウ・ハンドルを取得
- (1)よりButtonというクラス名のハンドルを取得
- 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()関数を使わないようにして下さい。
- 分かりやすくするためにエラー処理は記述していません。
※コメント投稿者のブログIDはブログ作成者のみに通知されます