【CPP】微软全家桶 Winform在VS2022中操作注册表的ClassesRoot项提示权限不足
0.前言
在VS2022中的Winform项目中,使用 Registry.ClassesRoot.CreateSubKey
进行注册表相关操作的时候,提示权限不足的错误,但是在vs2022中没有了在属性中直接勾选安全的内容,同时在.NET 6中的Winform项目中,默认没有创建app.manifest
文件,所以像我这样的新手会一下子手足无措,无法找到相应的页面进行处理
1.解决方式
手动创建
app.manifest
文件
1.1 创建app.manifest
文件
默认名称就是
app.manifest
1.2 修改权限
文件的权限注释中已经说明了.
把原来的<requestedExecutionLevel level="asInvoker" uiAccess="false" />
替换为<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
即可.
替换后进行编译运行,会提示你以管理员的方式重启VS,重启后既可以正常操作ClassesRoot
相关的注册表内容.而且应用也会多一个管理员的标识.如下所示
2.修改后的文件 ↓
1 |
|
【CPP】微软全家桶 Winform在VS2022中操作注册表的ClassesRoot项提示权限不足
https://www.yangxj96.com/CPP/WinFormClassesRootPermissionDenied/