ホームページ > バックエンド開発 > C++ > 保護されたレジストリ キーを変更するための昇格権限を Windows アプリケーションに付与するにはどうすればよいですか?

保護されたレジストリ キーを変更するための昇格権限を Windows アプリケーションに付与するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-03 02:30:39
オリジナル
593 人が閲覧しました

How Can I Grant My Windows Application Elevation Privileges to Modify Protected Registry Keys?

最新の Windows 環境でのレジストリ変更の昇格の付与

Windows プログラミングの世界では、かつては HKEY_CLASSES_ROOT の下にあるレジストリ キーを変更するのは簡単な作業でした。ただし、Windows 7 の登場とユーザー アカウント制御 (UAC) の重視により、開発者は「要求されたレジストリ アクセスは許可されていません」というエラーに遭遇する可能性があります。

この制限は、ほとんどのアプリケーションがWindows 7 以降の標準ユーザー権限。 HKEY_CLASSES_ROOT の下にあるような保護されたレジストリ キーを変更するには、アプリケーションに管理者権限が必要です。

UAC サポート用のコードの拡張

調整ユーティリティに必要な昇格された権限を付与するには、次の解決策を実装する必要があります:

1.アプリケーション マニフェストを利用する:

アプリケーション ディレクトリに拡張子「.manifest」を持つマニフェスト ファイルを作成します。

2.マニフェストを構成します:

マニフェスト ファイル内で、次の XML 構造を定義します:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
         <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
         </requestedPrivileges>
      </security>
   </trustInfo>
</asmv1:assembly>
ログイン後にコピー

3.マニフェストをリンクします:

C コードで、プリプロセッサ ディレクティブ セクションに次の行を追加します:

#pragma comment(linker,"/manifestdependency:\"MyApplication.manifest\"")
ログイン後にコピー

これらの手順を実装することで、アプリケーションが必要とするシステムに指示します。レジストリの変更を実行するための管理者権限。アプリケーションが起動されると、Windows はユーザーに昇格を許可するよう自動的に要求し、調整ユーティリティが保護されたレジストリ キーにアクセスできるようにします。

以上が保護されたレジストリ キーを変更するための昇格権限を Windows アプリケーションに付与するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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