首页 >后端开发 >C++ >如何修复 Windows 中由于 UAC 导致的'不允许请求的注册表访问”错误?

如何修复 Windows 中由于 UAC 导致的'不允许请求的注册表访问”错误?

Susan Sarandon
Susan Sarandon原创
2024-12-29 02:41:14773浏览

How to Fix

UAC 访问被拒绝:解决“不允许请求的注册表访问”

虽然修改 HKEY_CLASSES_ROOT 下的注册表项通常可以在较旧的 Windows 版本中顺利运行,用户可能会在 Windows 7 及更高版本中遇到“不允许请求的注册表访问”错误。这源于用户帐户控制 (UAC) 的实施,它将某些系统操作限制为提升的权限。

为了解决此问题并确保 UAC 兼容性,需要修改以下代码:

<?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>

通过添加此 XML 清单,应用程序显式请求提升权限 (requireAdministrator),而无需用户界面提示 (uiAccess="false")。这允许应用程序访问受保护的注册表项并执行必要的修改,而不会触发“不允许请求的注册表访问”错误。

以上是如何修复 Windows 中由于 UAC 导致的'不允许请求的注册表访问”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn