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中文網其他相關文章!