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中文网其他相关文章!