想关资料
http://stackoverflow.com/questions/13030492/set-administrator-privilege-for-my-c-application-in-vs2005
http://msdn.microsoft.com/en-us/library/bb756929.aspx
http://msdn.microsoft.com/en-us/library/ms235591.aspx
//=================================================
http://blog.csdn.net/jjchao/article/details/7041335(来源)
方法1
Vista/Win7使用UAC加强了权限管理,一些程序需要用户指明管理员权限才能正常运行。那么如何让一个程序默认就是以管理员方式运行呢?答案是Manifest.

步骤如下:

1. 在工程中新建一个文件,例如mani.xml。
其内容为

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
<ms_asmv2:security>
<ms_asmv3:requestedPrivileges xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</ms_asmv3:requestedPrivileges>
</ms_asmv2:security>
</ms_asmv2:trustInfo>
</assembly>

蓝色的一行是关键的。默认是asInvoker。这里改成requireAdministrator.
2. 右键项目,选择Properties。在Mainfest Tool一节,选择Input and Output,在Additional Manifest Files中,输入刚才创建的xml文件。

见图

3. Rebuild,这时可能会出现一个警告(81010002),不用理会:(注,为了得到详细的信息,我把项目属性 - Manifest Tool - General 中的Suppress Startup Banner 设置成No, Verbose Output 设置成Yes)
1>------ Rebuild All started: Project: test, Configuration: Release Win32 ------
1>Deleting intermediate and output files for project 'test', configuration 'Release|Win32'
1>Compiling...
1>stdafx.cpp
1>Compiling...
1>test.cpp
1>Linking...
1>Generating code
1>Finished generating code
1>Embedding manifest...
1>Microsoft (R) Manifest Tool version 5.2.3790.2075
1>Copyright (c) Microsoft Corporation 2005.
1>All rights reserved.
1>.\mani.xml : manifest authoring warning 81010002: Unrecognized Element "requestedPrivileges" in namespace "urn:schemas-microsoft-com:asm.v3".
1>Build log was saved at "file://f:\myworks\test\test\Release\BuildLog.htm"
1>test - 0 error(s), 1 warning(s)
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

然后可以看到生成的exe文件的图标变了,上面多了个小盾牌:

双击运行,弹出了UAC的确认框,OK了。

最后关于上面的警告:VC2005带的Manifest工具mt.exe是5.2.3790.2025版本的,更新成Windows SDK中带的6.1.7716.0,那个警告就消失了。

Kudouman补充:

Visual Studio 2005 中的 MT.EXE 在加载 UAC 的 MANIFEST 有问题, 
会导致了Windows XP SP2的SXS.DLL崩溃和Windows的蓝屏。
1。 使用 Microsoft Windows Vista SDK 里面的mt.exe替换 Visual Studio 2005 RTM 里面的mt.exe 
2。 使用 Visual Studio 2005 SP1 
不知道哪位安装了 VS 2005 SP1 或者 VISTA SDK 能够分享一下 MT.EXE 么? 谢谢
如果是从Microsoft下载Microsoft Windows Vista SDK,安装以后在C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\mt.exe获得文件。 
如果是 VS 2005 SP1 的话 , 在 C:\Program Files\Microsoft Visual Studio 8\VC\bin\mt.exe

PS.

工程引用了这个Manifest文件,但是人为删除了这个Manifest,  编译会报错。

1>.\Debug\XX.exe.intermediate.manifest : general error c1010070: Failed to load and parse the manifest. {_~0v

所以工程最好是记得,注释下。

============

vs2010之后可以在工程 属性中 添加UAC

[Linker] -> [manifest file] -> [UAC Excution Level]

改成

[requireAdministrator (/level='requireAdministrator')]

转载于:https://www.cnblogs.com/scotth/p/3781574.html

VS2005 工程在win7下使用管理员权限运行相关推荐

  1. 让VC程序在Win7下获得管理员权限

    VC编译出来的应用程序在win7或vista下运行,有可能因为权限问题,不能成功运行. 用下面的办法,给应用程序添加一个manifest文件,程序运行时系统就会跳出UAC对话框,获得管理权限. 1.打 ...

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

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

  3. Win10下应用程序默认管理员权限运行

    系统升级到win10后,普通应用程序不再默认以管理员权限运行了.当应用程序需要访问系统盘或调CreateFile函数进行IO驱动操作时,往往会失败,同时,通过GetLastError函数获取错误码为5 ...

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

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

  5. 解决Win7系统下以管理员身份运行的程序接收不到拖放文件消息[WM_DROPFILES]问题的方法

    大多数程序都有接收拖放文件的功能,即是用鼠标把文件拖放到程序窗口上方,符合格式的文件就会自动被程序打开.最近自己对编写的程序增加了一个拖放文件的功能,在 Windows XP.Windows Serv ...

  6. Win7编程:在按钮中加入管理员权限运行盾牌图标--转载

    下文分两部分,第一,如何实现软件本身运行时申请管理员权限,第二,如何在软件窗体内的按钮上面加入盾牌图标(意味着本功能需要管理员权限执行). 一.软件自身运行时的管理员权限申请机制 在开启UAC的时候, ...

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

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

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

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

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

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

  10. 解决系统下以管理员身份运行的程序接收不到拖放文件消息[WM_DROPFILES]问题的方法

    大多数程序都有接收拖放文件的功能,即是用鼠标把文件拖放到程序窗口上方,符合格式的文件就会自动被程序打开.最近自己对编写的程序增加了一个拖放文件的功能,在 Windows XP.Windows Serv ...

最新文章

  1. Ajax跨域:Jsonp原理解析
  2. iPhone13下周三发布,提前看剧透:刘海缩小、120Hz高刷屏、Mini又续一年…
  3. linux selenium_每天进步一点点 selenium+python
  4. mysql 2.71828_数学中的e=2.71828……到底是什么东西?
  5. python中isinstance用法_Python内置isinstance函数详细介绍
  6. java厨房_Java多线程基础
  7. CSShack,CSS hack
  8. python面试题之什么是PEP8规范
  9. 95-290-035-源码-内存管理-原理与实现:内存管理
  10. 2011对于运维的思考
  11. 【ZOJ 4097 The 19th Zhejiang University Programming Contest H】Rescue the Princess【边双连通缩点+LCA】
  12. 网盘资源搜索神器,只有你想不到没有你搜不到的,老司机必备!
  13. MoveIt2——4.机器人模型和机器人状态
  14. k8s使用命令报错:error: You must be logged in to the server (Unauthorized)
  15. 写给初中级前端的高级进阶指南
  16. JSP页面中用绝对路径显示图片
  17. 若依对接企业微信JS-DK
  18. 【转载】C语言嵌入式系统编程修炼之二:软件架构篇
  19. Vue - 实现信纸输入写作,类似写明信片时的一张背景图片 + 横格纸效果(信纸格子与文字自动对齐、支持自定义背景图、文字或横线大小与颜色,一切由您 DIY 自定义样式)纯CSS完成支持任何vue项目
  20. 三分钟带你搞懂什么是向上转型和向下转型

热门文章

  1. 小程序授权登录,后台发送链接,得到参数。
  2. [图解]创建虚拟机以及安装CentOS系统和创建自定义布局
  3. dell笔记本驱动安装失败_声卡驱动安装失败的解决方法
  4. 【渝粤教育】国家开放大学2018年春季 0063-21T中国现当代文学专题 参考试题
  5. 【渝粤教育】国家开放大学2018年春季 8612-22T传染病护理学 参考试题
  6. 【渝粤教育】广东开放大学 计算机硬件组装与维护 形成性考核 (38)
  7. ??? Error using == Inner matrix dimensions must agree.
  8. Java json字符串转Object
  9. PHP设置脚本最大执行时间的三种方法
  10. 【Windows】DOS的常用命令