UAC 对注册表修改的支持
在 XP 以外的 Windows 版本(例如 Windows 7、Vista)中的 HKEY_CLASSES_ROOT 配置单元下执行注册表修改时,和2008年相比,用户可能会遇到“不允许请求的注册表访问”错误。此错误源于这些操作系统中引入的用户帐户控制 (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>
通过合并此清单修改,您的应用程序将正确处理 UAC 提升,并允许您在 Windows 版本中的 HKEY_CLASSES_ROOT 下进行注册表修改启用 UAC。
以上是如何修复 Windows 中修改 HKEY_CLASSES_ROOT 时出现'不允许请求的注册表访问”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!