Windows Vistaの管理者権限アイコンをボタンに表示する

test74.gif
Windows Vista上で操作に管理者権限が必要なことがユーザーにひと目でわかるようにアイコンをボタンに表示する。
方法は非常に簡単で、BCM_SETSHIELDメッセージをボタンに対して送るだけでいい。その際にLPARAM=TRUEにするとアイコン表示、FALSEにするとアイコン消去となる。

この実装用にButton_SetElevationRequiredStateというマクロが定義されているのでこれを利用してもいい。


ここではWTLアプリケーションウィザードでダイアログベースのプロジェクトを作成し、その「OK」ボタンに対してアイコンを表示した。

■MainDlg.hのOnInitDialog()内に追加
		//Windows Vista管理者アイコンをボタンに設定する
		//以下の3行はどれも同じ動作をする
		Button_SetElevationRequiredState(GetDlgItem(IDOK), TRUE);
		//::SendMessage(GetDlgItem(IDOK),BCM_SETSHIELD,NULL,(LPARAM)TRUE);
		//::SendMessage(GetDlgItem(IDOK),(BCM_FIRST + 0x000C),NULL,(LPARAM)TRUE);

プロジェクトファイルをダウンロード


カテゴリー「コントロール」 のエントリー