Visual Studio C++(VC++)で管理者権限を取得するプログラムを作成する方法


目的

UEFIの設定を読み取るためのプログラムは実行時に管理者権限が必要だ.管理者権限を持たせた状態でプログラムをデバッグしたかったので今回はこれを設定する.そのままだと管理者権限を持った別のプログラムから呼び出す方法でしか権限を得られないので,プログラム自身で管理者権限を取得できるようにする.

やり方

プロジェクトのプロパティを開き,

リンカー→マニフェストファイル内の「ユーザーアカウント制御(UAC)を有効にする」を「はい」に,「UACの実行レベル」を「requireAdministrator」に設定する.

OKを押してウィンドウを閉じ,デバッグを開始しようとするとVisual Studioを管理者権限で再起動する云々といわれるので従う.

補足

この方法以外に直接マニフェストファイルを記述して組み込む方法もある模様.未調査.

以上