Win7程序提升权限

作者: admin 分类: C++ 发布时间: 2013-08-23 15:18 ė4,735 浏览数 6没有评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)

在Windows Xp以及之前的Windows版本中,当具有管理员权限的账户登录后,创建一个安全令牌(security token),之后其他应用程序启动后将会具有这个令牌,继承管理员账户的高权限,从而更容易对系统造成破坏。于是在Windows vista之后的版本中进行了改动,具有管理员权限的用户登录之后,除了创建安全令牌之外,还会创建一个经过筛选的安全令牌(将只被授予标准用户的权限)。

在Win7下通过右键应用程序,“Run as administrator”运行从而获得提升后的权限;以先前博客<<修改IP、DNS、MAC工具VC源码实现>>为例,应用程序中需要管理员启动的CMD中运行命令行,所以必须”Run as administrator”来运行修改器(修改器以管理员身份运行后,创建的CMD运行程序继承其权限)。这种方式是由用户去手动提升权限,下面介绍两种方法可以通过程序提升权限。

1. 方法一:通过manifest文件
在编译链接程序的时候,通过编写manifest文件嵌入应用程序中,来指示提升权限后运行。

(1)编写manifest文件(hello.manifest)

 

(2)工程配置(采用vs2005)

在”附加清单文件”中添加hello.manifest

2. 方法二:使用ShellExecuteEx

在一个没有提升权限的执行进程中,采用ShellExecuteEx可以创建具有提升权限的应用程序:

 

参考:

(1)http://msdn.microsoft.com/en-us/library/bb756929.aspx

(2)《Windows核心编程(第五版)》4.5节



只回答业务咨询点击这里给我发消息 点击这里给我发消息

学习日记,兼职软件设计,软件修改,毕业设计。

本文出自 学习日记,转载时请注明出处及相应链接。

本文永久链接: https://www.softwareace.cn/?p=545

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量