当前位置:C++技术网 > 资讯 > 提升VS权限调试代码,提升权限运行软件程序

提升VS权限调试代码,提升权限运行软件程序

更新时间:2015-10-09 23:42:19浏览次数:1+次

    在开发一些底层应用时,会遇到权限问题。在Win XP很少有这个问题。而在Win7一般都是以管理员权限登录,就基本都是管理员权限运行了,所以,碰见的不太多。当然有时候用了非管理员账号登录,就会有权限问题。如果没有管理员权限,是无法执行一些功能的。而这些操作一般是比较底层或者系统核心功能部分,比如底层磁盘操作和注册表操作等。
    而在Win8和Win10系统,对权限要求都更为严格。我现在用的是Win10,Win8不太熟,不过和Win10属于一个系统框架。所以底层的设计很多都是一样的,只是win10做的更加完善,更加强大。
    Win10默认用户并不是管理员权限的,只是普通用户,这无疑与XP的不一样。Win7实际上限制还不太严格,而在Win10就很严格了。这也是为了安全考虑。

   
    但是这让我们开发带来了一点点麻烦。我们如果是普通用户登录的,执行一些功能,如果没有管理员权限,无法执行,就执行失败了。
    我调试完美数据恢复,发现出现断言错误。而错误的是无法打开磁盘。这是需要管理员权限的。所以,为了解决这个调试麻烦的问题,就总结这篇文章来分享了。
    解决这个问题就是提升权限的问题。那么要么就提高我们登录系统的账户的权限,让我们登录的用户权限达到管理员权限。至于系统配置管理员权限,这个我提到这里就好了,具体设置就不铺开了。你可以将当前用户(也就是最常登录的用户提升为管理员),或者再创建一个管理员账户。不懂的百度查,这个网上资料很多。
    另一个就是不改变我们账户的权限的临时提升权限。这个是针对程序软件来讲的。因为最终执行功能的还是程序,所以让程序提升执行权限就可以了。
    对于一些涉及底层和系统关键功能操作,如果你执行失败,要考虑可能是权限不够的问题。你可以右击程序,然后“以管理员身份运行”,这样这个程序就会获得管理员权限运行,这样功能执行就不会受阻了。如下图所示:

   
    这是软件程序的直接执行。但是我们经常开发程序,想必你肯定很关心如果在VS调试时就有管理员执行调试的程序吧。我这里就讲一个简单的方法,不讲怎么配置用户权限这些,很麻烦。
    我们使用VS来调试程序,而登录的系统账号是普通的用户,没有管理员权限,所以,直接运行的VS也是普通用户执行权限。如果VS是用管理员权限运行的,那么在VS顶部有【管理员】这样的字眼显示的。如下图所示:

   
    安装完VS后,我们都有VS启动的快捷方式,双击就可以启动VS。我们可以每次都是右击这个快捷方式,然后选择“以管理员身份运行”,这样就获得了管理员权限了。但是这样需要每次都要右击来选择一次,比较麻烦。
    所以,我们可以利用VS的快捷方式来简单的配置一样,这样双击VS就自动获取管理员权限,而且一直有效。步骤如下:右击“VS快捷方式”->“属性”->“高级”->勾选“用管理员身份运行”,确定即可。这样配置之后,只要通过这个快捷方式打开的VS,就自动获取了管理员权限,调试时就可以以管理员身份调试,这样调试一些底层的功能时就不会受阻了。
    而对于用sln文件启动VS项目的,还是得先用这个快捷方式打开了VS之后,再通过VS的打开项目菜单打开sln咯。这样我没有找到比较好的方法。最方便的就是登陆系统的用户就是管理员身份哦。