ホームページ > バックエンド開発 > C++ > HKEY_CLASSES_ROOT を変更するときに Windows で発生する「要求されたレジストリ アクセスは許可されていません」エラーを修正する方法

HKEY_CLASSES_ROOT を変更するときに Windows で発生する「要求されたレジストリ アクセスは許可されていません」エラーを修正する方法

Mary-Kate Olsen
リリース: 2024-12-29 02:32:10
オリジナル
199 人が閲覧しました

How to Fix

レジストリ変更に対する UAC サポート

Windows 7、Vista など、XP 以降の Windows バージョンで HKEY_CLASSES_ROOT ハイブの下でレジストリ変更を実行する場合2008 年には、「要求されたレジストリ アクセスは許可されていません」というメッセージが表示される場合があります。 エラー。このエラーは、これらのオペレーティング システムにユーザー アカウント制御 (UAC) が導入されたことが原因で発生します。UAC では、昇格した権限を要求することで、システム レベルの変更に対してより厳格なセキュリティ対策を強制します。

レジストリ変更に対する適切な UAC サポートを確保するには、次のようにします。次の要素をアプリケーション マニフェスト ファイル (.manifest) に追加するために必要です。

<?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>
ログイン後にコピー

セクションでは、アプリケーションに必要な実行レベル (この場合は「requireAdministrator」) を指定します。このレベルは、保護されたレジストリ キーにアクセスするには、アプリケーションを管理者権限で実行する必要があることを示します。

このマニフェストの変更を組み込むことにより、アプリケーションは UAC 昇格を適切に処理し、Windows バージョンで HKEY_CLASSES_ROOT でレジストリを変更できるようになります。 UAC が有効になっている場合。

以上がHKEY_CLASSES_ROOT を変更するときに Windows で発生する「要求されたレジストリ アクセスは許可されていません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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