ホームページ > バックエンド開発 > C++ > 実行時に C アプリケーションの管理者権限を昇格するにはどうすればよいですか?

実行時に C アプリケーションの管理者権限を昇格するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-13 11:33:02
オリジナル
600 人が閲覧しました

How Can I Elevate Administrator Privileges for My C   Application at Runtime?

C アプリケーションでの管理者権限の実行時昇格

実行時にオペレーティング システムに管理者権限を要求できる機能は、特定のユーザーにとって望ましい機能です。アプリケーション。 Windows では、この機能はさまざまなメカニズムを通じて利用可能です。

コンパイル時の昇格

質問で述べたように、コンパイル中にアプリケーションに管理者権限を付与できます。アプリケーションのマニフェストを「requireAdministrator」に設定します。ただし、実行時に昇格の要件が発生する場合は、他のアプローチが必要です。

実行時昇格

実行時に既存のアプリケーションの権限を昇格するには、いくつかのオプションがあります。 :

外部マニフェスト

コンパイル時の昇格と同様に、外部マニフェストを作成してアプリケーションの実行可能ファイルに関連付けることができます。このマニフェストでは、「requestedExecutionLevel」を「requireAdministrator」に指定できます。

RunAs Verb

ShellExecute 関数で「runas」動詞を使用すると、次のことが可能になります。昇格した特権でプロセスを起動します。このオプションを使用すると、プロセスの実行前にユーザーに管理者の資格情報の入力を求めることができます。

現在のインスタンス専用

現在のインスタンスの権限を昇格することが目的の場合アプリケーションのインスタンスでは、メモリ内に保存されているデータを失うことなく、Windows の「CreateSymbolicLinkW」関数を使用して、管理者アカウントの実行可能ファイルへのシンボリック リンクを作成できます。この手法では、実行中のアプリケーションと同じ名前のシンボリック リンクを作成し、それを実行可能ファイルの昇格されたバージョンにポイントします。その後、元のアプリケーションのメモリとリソースを継承して、昇格されたバージョンを実行できます。

以上が実行時に C アプリケーションの管理者権限を昇格するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート