让VC程序在Win7下获得管理员权限
VC编译出来的应用程序在win7或vista下运行,有可能因为权限问题,不能成功运行。
用下面的办法,给应用程序添加一个manifest文件,程序运行时系统就会跳出UAC对话框,获得管理权限。
1.打开应用程序的源代码工程
2.添加一个“custom”资源,"resource type"填24,把资源ID改为1,然后把以下内容复制到资源内容中保存
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="mulitray.exe.manifest"
type="win32"
/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
3.重新编译应用程序,此时会发现,广用程序的图标在Win7下会多出一个小盾标志。
这时双击的运行的时候,就会跳出框提示,获取管理员运行。
--------------------------------------------------------------------------------------------------
上面的资源文件里有一个配置选项叫requestedExecutionLevel, 这个项用于配置当前应用请求的执行权限级别。这个项有3个值可供选择,如下所示:
asInvoker : 如果选这个,应用程序就是以当前的权限运行。
highestAvailable: 这个是以当前用户可以获得的最高权限运行。
requireAdministrator: 这个是仅以系统管理员权限运行。
默认情况下是 asInvoker。highestAvailable 和 requireAdministrator 这两个选项都可以提示用户获取系统管理员权限。那么这两个选项的区别在哪里呢?他们的区别在于,如果我们不是以管理员帐号登录,那么如果应用程序设置为 requireAdministrator ,那么应用程序就直接运行失败,无法启动。而如果设置为 highestAvailable,则应用程序可以运行成功,但是是以当前帐号的权限运行而不是系统管理员权限运行。如果我们希望程序在非管理员帐号登录时也可以运行(这种情况下应该某些功能受限制) ,那么建议采用 highestAvailable 来配置。
关于requestedExecutionLevel 设置的权威文档请参考下面链接:
Create and Embed an Application Manifest (UAC)
让VC程序在Win7下获得管理员权限相关推荐
- 计算机如何获取管理权限管理,win7如何设置管理员权限,教您获取
在Windows系统中,"Administrator"帐户拥有最高的系统权限,很多是后系统为了安全,默认账户是没有开启管理员权限的,那么windows7怎么设置管理员权限呢?今天小 ...
- 如何取得Win7文件的管理员权限?
[已解决]如何取得Win7文件的管理员权限? 从Vista系统开始,微软为了提供系统安全性,开始强调对于Windows文件的所有权,以及程序运行时的用户权限,限制程序对系统重要文件的篡改.不过这样也给 ...
- win7计算机管理员权限才能删除,Win7系统需要管理员权限才能删除文件夹或复制到此文件夹解决方法...
在Win7系统使用过程中,比如安装软件或者对文件删除或者复制操作时,系统出现提示"需要管理员权限",明明已经使用管理员账户登录,为什么还会提示需要管理员权限呢?那么该怎么解决呢?下 ...
- win7如何设置计算机管理员,win7怎样设置管理员权限_win7系统设置管理员权限的步骤-win7之家...
我们在win7系统中安装或者删除软件等一些操作的时候,可能会遇到管理员权限不够的情况,导致无法正常操作,那么win7怎样设置管理员权限呢?为了帮助到大家,接下来win7之家笔者就给大家讲述一下win7 ...
- Nsis 解决程序安装后要右键管理员权限运行问题
解决问题: 程序安装后,通过桌面快捷方式运行程序时不需要再右键选择管理员身份运行. 注意:程序安装时需要使用管理员权限进行安装,才能往注册写入信息 ;针对当前用户有效 WriteRegStr HKCU ...
- ubuntu下创建管理员权限的账户
ubuntu下创建管理员权限的账户 现在假设我要创建一个名为"lcj"的账户. 1. 添加用户名,执行sudo adduser lcj命令 sudo adduser lcj 2. ...
- c#让程序在WIN7下兼容模式运行
以前在xp下开发,最近全部转移到WIN7下,发现程序运行会有个小问题,就是获取系统当前是否静音的时候,以前在XP下运行的好好的,到了WIN7下就不行了,后面想到用管理员方式运行,还是不行,擦,后面突然 ...
- ubuntu下以管理员权限开机自启动自己的程序
实现目的:让自己编写的程序在ubuntu下开机自启动,并且要以管理员权限启动 实现步骤: 1.打开"Startup Applications" 程序,如下图: 或者在终端输入命令: ...
- win7需要计算机管理员权限,Win7系统提示“需要管理员权限”如何解决?
最近有Win7系统用户反映,很经常在安装软件或者对文件进行操作的时候,系统提示"需要管理员权限",这让用户感觉很厌烦.其实对于这个问题,可能是系统设置问题,也可能是文件本身设置了安 ...
最新文章
- 为什么不应该使用“volatile”类型
- REGULAR NOMINATION AGGRESSIVE NOMINATION
- 145. Binary Tree Postorder Traversal 二叉树的后序遍历
- 使用 CNF 测试套件测试云原生最佳实践
- caffe学习笔记(2)
- mySQL 数据库工具问题总结
- SQL锁机制和事务隔离级别
- linux ssh 推送文件_通过SSH实现Windows与linux之间传输文件
- Linux(CentOS6.5)修改默认yum源为国内的阿里云、网易yum源
- 回文后缀(suffix)
- 3810.最长连续休息时间-AcWing题库
- python怎么添加多行注释_python如何注释多行
- Java转换坐标系,GPS(WGS84)、百度(BD-09)、高德(GCJ-02)互转,一文搞懂坐标系、坐标转换
- 《python股票量化交易从入门到实践》摘要
- Java 下数据业务逻辑开发技术 JOOQ 和 SPL
- linux下操作3G模块
- FillRect与FrameRect
- Redis的复制(Master/Slaver)
- Word怎么转换成PDF?Speedpdf批量免费在线转换
- .输入一行字符串,含有数字和非数字字符以及空格等,如: df23adfd56 2343?23dgjop535 如果将其中所有连续出现的数字视为一个整数,要求统计在该字符串中共有多少个整数,并将这些数依
热门文章
- [转]进程,线程和多线程
- 解决vscode安装后无法启动的问题
- 如何简单的在 ASP.NET Core 中集成 JWT 认证?
- .net core 一个避免跨站请求的中间件
- BootstrapTable(附源码) Bootstrap结合BootstrapTable的使用,分为两种模试显示列表。...
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
- 索引中丢失 IN 或 OUT 参数
- 软件测试作业4:测试要素
- [网络安全自学篇] 三十四.Windows系统安全缺陷之5次Shift漏洞启动计算机机理分析
- [Android] 使用Include布局+Fragment滑动切换屏幕