请求的注册表访问是不允许的不允许、注册表

2023-09-02 11:30:02 作者:心事像慢性毒药偏偏不致命

我在写一个调整的工具,在修改 HKEY_CLASSES_ROOT 某些键。

I'm writing a tweak utility that modifies some keys under HKEY_CLASSES_ROOT.

在Windows XP等一切工作正常。但我发现了错误请求的注册表访问不允许在Windows 7的Vista和2008年,我猜了。

All works fine under Windows XP and so on. But I'm getting error Requested registry access is not allowed under Windows 7. Vista and 2008 I guess too.

如何修改我的code增加UAC支持?

How should I modify my code to add UAC support?

推荐答案

app.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>