写时间:2018年06月13日 03:54:40
前几天博主写关于访问注册表的程序, 却发现读取到的Value值为空, 这就很奇怪了.
检查代码却并未发现有什么问题, 捕获到的异常如下:
异常: System.Security.SecurityException (用户没有读取注册表项所需的权限)
最开始我认为是需要用右键的管理员权限来运行程序, 结果不行. 经查阅资料和以前乱玩项目属性的时候遇到一个以管理员权限来运行的程序的方式, 马上做出修改, 果然成功了. 修改过程如下:
右键项目->属性->安全性->勾上(启用ClickOnce安全设置, 然后立刻取消勾选, 此操作目的是为了让app.manifest文件显示在项目里以方便修改该文件内容)
然后修改项目Properties下面的app.manifest文件(将第11行的配置覆盖到18行)
修改好后程序就可以使用管理员权限来访问一些系统敏感位置了.
更新时间: 2018年9月21日14点47分
注意: 当你编写的程序需要使用管理员权限时, 你的VS在调试时可能会有如下提示
以前我碰到这种情况的时候都是 F7生成-->浏览目录-->双击生成的EXE文件, 然后查看控制台输出和程序运行结果来查看效果的. 小项目还行, 代码不多, 但是到了公司里, 一个解决方案里三十几个项目, 一个文件里几千行无注释代码.......头疼!!
现在我才发现可以直接退出VS, 以管理员权限运行VS就可以继续调试了.