visual studio 设置UAC权限

UAC介绍和设置

用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。

如果设置权限为默认位置,则启动应用程序时,会对exe权限进行检查。例如该应用程序想写文件,而该程序不是以管理员权限启动,就会因为没有权限导致无法写入成功,导致一系列问题。在win10系统中,系统对权限的管理会更加严格。

UAC设置如下图所示:
在这里插入图片描述
对应的Visual Studio在工程属性中也可以进程UAC的设置,在默认设置如下:
启用UAC选择‘是’,UAC执行级别为asInvoker,UAC绕过UI保护选择‘否’,如下图所示:
在这里插入图片描述
在这里插入图片描述
其中UAC执行级别包括三种:

  • asInvoker
    由当前启动程序的方式决定,若是管理员方式启动则取的管理员权限。
  • highestAvailable
    使用当前用户组的最高权限执行
  • requireAdministrator
    使用管理员权限执行,要求当前用户是管理员组成员。

查看当前用户组情况如下图所示:
在这里插入图片描述

C++应用权限设置

1、在默认情况下,VS的UAC执行级别为asInvoker项。若遇到因为没有管理员权限导致问题时,可以选择“以管理员身份运行”来启动exe来解决。

2、为了避免每次都需要选择“以管理员身份运行”,我们可以设置VS的UAC执行级别为highestAvailable,当然要求该用户属于管理员组

关于UAC相关信息可以参考:
https://docs.microsoft.com/en-us/cpp/build/reference/manifestuac-embeds-uac-information-in-manifest?view=vs-2019

发布了281 篇原创文章 · 获赞 327 · 访问量 66万+

猜你喜欢

转载自blog.csdn.net/xiao3404/article/details/103113363