スタートボタンのウインドウ・ハンドルを取得するには次のようにします。(戻る)
- タスクバーのウインドウ・ハンドルを取得
- (1)よりButtonというクラス名のハンドルを取得
ウインドウ・ハンドルの取得はFindWindowEx()関数を使います。
プロトタイプ宣言
HWND FindWindow( LPCTSTR lpClassName, // ウインドウのクラス名 LPCTSTR lpTitleName // ウインドウのタイトル名 ); HWND FindWindowEx( HWND hwndParent, // 親ウインドウのハンドル HWND hwndChildAfter, // 子ウインドウのハンドル LPCTSTR lpClassName, // ウインドウのクラス名 LPCTSTR lpTitleName // ウインドウのタイトル名 );
サンプル
HWND hTaskBar; // タスクバー用 HWND hStart; // スタートボタン用 // タスクバーのウインドウ・ハンドルを取得 hTaskBar = FindWindow( TEXT("Shell_TrayWnd"), NULL ); // スタートボタンのウインドウ・ハンドルを取得 hStart = FindWindowEx( hTaskBar, NULL, TEXT("Button"), NULL );
- タスクバーのウインドウ・ハンドルhTaskBarが取得できなければFindWindowEx()関数を使わないようにして下さい。
- 分かりやすくするためにエラー処理は記述していません。
※コメント投稿者のブログIDはブログ作成者のみに通知されます