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下获得管理员权限相关推荐

  1. 计算机如何获取管理权限管理,win7如何设置管理员权限,教您获取

    在Windows系统中,"Administrator"帐户拥有最高的系统权限,很多是后系统为了安全,默认账户是没有开启管理员权限的,那么windows7怎么设置管理员权限呢?今天小 ...

  2. 如何取得Win7文件的管理员权限?

    [已解决]如何取得Win7文件的管理员权限? 从Vista系统开始,微软为了提供系统安全性,开始强调对于Windows文件的所有权,以及程序运行时的用户权限,限制程序对系统重要文件的篡改.不过这样也给 ...

  3. win7计算机管理员权限才能删除,Win7系统需要管理员权限才能删除文件夹或复制到此文件夹解决方法...

    在Win7系统使用过程中,比如安装软件或者对文件删除或者复制操作时,系统出现提示"需要管理员权限",明明已经使用管理员账户登录,为什么还会提示需要管理员权限呢?那么该怎么解决呢?下 ...

  4. win7如何设置计算机管理员,win7怎样设置管理员权限_win7系统设置管理员权限的步骤-win7之家...

    我们在win7系统中安装或者删除软件等一些操作的时候,可能会遇到管理员权限不够的情况,导致无法正常操作,那么win7怎样设置管理员权限呢?为了帮助到大家,接下来win7之家笔者就给大家讲述一下win7 ...

  5. Nsis 解决程序安装后要右键管理员权限运行问题

    解决问题: 程序安装后,通过桌面快捷方式运行程序时不需要再右键选择管理员身份运行. 注意:程序安装时需要使用管理员权限进行安装,才能往注册写入信息 ;针对当前用户有效 WriteRegStr HKCU ...

  6. ubuntu下创建管理员权限的账户

    ubuntu下创建管理员权限的账户 现在假设我要创建一个名为"lcj"的账户. 1. 添加用户名,执行sudo adduser lcj命令 sudo adduser lcj 2. ...

  7. c#让程序在WIN7下兼容模式运行

    以前在xp下开发,最近全部转移到WIN7下,发现程序运行会有个小问题,就是获取系统当前是否静音的时候,以前在XP下运行的好好的,到了WIN7下就不行了,后面想到用管理员方式运行,还是不行,擦,后面突然 ...

  8. ubuntu下以管理员权限开机自启动自己的程序

    实现目的:让自己编写的程序在ubuntu下开机自启动,并且要以管理员权限启动 实现步骤: 1.打开"Startup Applications" 程序,如下图: 或者在终端输入命令: ...

  9. win7需要计算机管理员权限,Win7系统提示“需要管理员权限”如何解决?

    最近有Win7系统用户反映,很经常在安装软件或者对文件进行操作的时候,系统提示"需要管理员权限",这让用户感觉很厌烦.其实对于这个问题,可能是系统设置问题,也可能是文件本身设置了安 ...

最新文章

  1. 为什么不应该使用“volatile”类型
  2. REGULAR NOMINATION AGGRESSIVE NOMINATION
  3. 145. Binary Tree Postorder Traversal 二叉树的后序遍历
  4. 使用 CNF 测试套件测试云原生最佳实践
  5. caffe学习笔记(2)
  6. mySQL 数据库工具问题总结
  7. SQL锁机制和事务隔离级别
  8. linux ssh 推送文件_通过SSH实现Windows与linux之间传输文件
  9. Linux(CentOS6.5)修改默认yum源为国内的阿里云、网易yum源
  10. 回文后缀(suffix)
  11. 3810.最长连续休息时间-AcWing题库
  12. python怎么添加多行注释_python如何注释多行
  13. Java转换坐标系,GPS(WGS84)、百度(BD-09)、高德(GCJ-02)互转,一文搞懂坐标系、坐标转换
  14. 《python股票量化交易从入门到实践》摘要
  15. Java 下数据业务逻辑开发技术 JOOQ 和 SPL
  16. linux下操作3G模块
  17. FillRect与FrameRect
  18. Redis的复制(Master/Slaver)
  19. Word怎么转换成PDF?Speedpdf批量免费在线转换
  20. .输入一行字符串,含有数字和非数字字符以及空格等,如: df23adfd56 2343?23dgjop535 如果将其中所有连续出现的数字视为一个整数,要求统计在该字符串中共有多少个整数,并将这些数依

热门文章

  1. [转]进程,线程和多线程
  2. 解决vscode安装后无法启动的问题
  3. 如何简单的在 ASP.NET Core 中集成 JWT 认证?
  4. .net core 一个避免跨站请求的中间件
  5. BootstrapTable(附源码) Bootstrap结合BootstrapTable的使用,分为两种模试显示列表。...
  6. Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
  7. 索引中丢失 IN 或 OUT 参数
  8. 软件测试作业4:测试要素
  9. [网络安全自学篇] 三十四.Windows系统安全缺陷之5次Shift漏洞启动计算机机理分析
  10. [Android] 使用Include布局+Fragment滑动切换屏幕