0

プログラムの実行時に、プログラムの特定の部分/スニペットに対して管理者権限を付与することはできますか?
マニフェスト ファイルを使用してアプリケーション全体に管理者権限を与えることができることは知っていますが、アプリケーション サービスの 70% ~ 80% が管理者権限を必要としないか、エンド ユーザーが管理者権限を必要としないと想定しているため、それは好きではありません。アプリケーションを実行するたびに UAC プロンプトが表示されるようにします。
そのような目標を達成する方法はありますか?

4

1 に答える 1

4

コードを実行する権利は、プロセス全体のオブジェクトであるプロセス トークンによって制御されます。したがって、プロセスに昇格された権限がある場合、そのプロセスで実行されるすべてのコードには昇格された権限があります。

結論として、アプリケーションのさまざまな部分にさまざまな権限を持たせるには、複数のプロセスが必要です。

アプリケーションがこれを行うのは完全に一般的であり、標準です。アプリケーションは、別の権利で開始できます。ユーザーが権限の昇格を必要とするアクションを実行したい場合、プログラムは別の実行可能ファイルを呼び出してそのタスクを実行します。実際に昇格が必要なアクションに対してのみ UAC ダイアログに直面する必要があるため、これはユーザーにとって確かに優れています。

于 2013-04-20T13:42:46.123 に答える