3

Visual C++ 2010 でアプリケーションを開発しています。このアプリケーションは Windows 7 を対象としています。いくつかの特別な場合にのみ発生するいくつかの値をレジストリに書き込むタスクがあります。また、Windows 7 以降では、これを行うには管理者権限が必要です。そのようなアクションを実行するために必要なときにアプリケーションが管理者権限を要求し、開始時に管理者権限を要求しないようにアプリケーションをプログラムするにはどうすればよいでしょうか。ありがとう。

4

1 に答える 1

4

マークが言ったように、必要に応じて特権を昇格させることはできません。簡単な解決策は、書き込み部分を実行する別の実行可能ファイルを作成し、必要に応じて特定のコマンドライン パラメーターを使用して起動することです。もちろん、この実行可能ファイルのマニフェストには「requireAdministrator」権限が必要です。

このプログラムをサービスとして設計し、名前付きパイプを使用して IPC メカニズムをセットアップすることもできます。パイプ自体は、通常のユーザー アクセスを許可するセキュリティ記述子を使用して作成でき、より低い権限で実行されているプログラムがパイプに書き込むことができるようになります。

2 番目のアプローチの目的は、最初のソリューションで表示される厄介な UAC プロンプトを排除することです。

于 2012-06-06T00:00:39.520 に答える