您的位置:首页 > 编程语言 > Delphi

Delphi在Vasta/win 7下通过UAC控制

2011-09-20 16:15 246 查看
在Windows编程时,为了兼容Win7与XP,许多需要底层权限的程序需要通过UAC验证,这是微软出的一个很恶心的东西……还不如Ubuntu那种Root机制呢……但是有困难我们就要克服~

现在有一种方式可以变相的绕过UAC控制。其实UAC控制有一点很弱智的是,当你的程序名字中包含Installation、Setup等词时,UAC认为你是安装程序,会默认进行UAC提示,提示用户给此程序提高权限。这对于安装包可以简单解决,但是如果我们的主程序也需要高权限的话,我们需要一个manifest文件来告诉UAC:我需要一个较高的权限,UAC也会提示用户提权。具体操作如下,但是此方法有个不能解决的问题是UAC会提示次软件未经微软认证,执行可能会影响安全。解决方法只有一个,那就是购买微软的软件认证……坑爹啊!

1.建立 res 文件

建立一个文本文件,名字可以自己起,我这里叫:UAC.manifest,内容:

建立文本文件,名为 UAC.rc,内容:

编译成 uac.res 文件,运行:brcc32 uac.rc -fouac.res

2.在代码中引入

打开项目文件,加入

3.编译程序

这时程序就支持 VISTA 和WIN7的UAC了,在运行的时候,会弹出 WINDOWS 的提示框,询问用户是否允许以管理员身份运行。



声明:未作说明,则本文为代码至上原创。转载务必注明出处

注意:转载须保留全文,如需修改请%E4%BF%AE%E6%94%B9%E5%8F%8A%E8%BD%AC%E8%BD%BD%E7%94%B3%E8%AF%B7%EF%BC%9A%E3%80%8ADelphi%E5%9C%A8Vasta/win%207%E4%B8%8B%E9%80%9A%E8%BF%87UAC%E6%8E%A7%E5%88%B6%E3%80%8B&body=%E7%94%B3%E8%AF%B7%E4%BF%AE%E6%94%B9%E5%B9%B6%E8%BD%AC%E8%BD%BD%E3%80%8ADelphi%E5%9C%A8Vasta/win%207%E4%B8%8B%E9%80%9A%E8%BF%87UAC%E6%8E%A7%E5%88%B6%E3%80%8B%E4%B8%80%E6%96%87%E3%80%82%E6%96%87%E7%AB%A0%E5%9C%B0%E5%9D%80:http://codeup.org/archives/101%0d%0a%E5%A6%82%E4%B8%8D%E5%90%8C%E6%84%8F%E8%AF%B7%E5%9B%9E%E5%A4%8D%E9%82%AE%E4%BB%B6%E5%91%8A%E7%9F%A5%EF%BC%8C%E4%B8%8D%E5%9B%9E%E5%A4%8D%E5%88%99%E9%BB%98%E8%AE%A4%E8%AE%B8%E5%8F%AF%E3%80%82%0d%0a%E8%BD%AC%E8%B4%B4%E5%9C%B0%E5%9D%80%EF%BC%9A%28%E8%AF%B7%E8%AE%BF%E5%AE%A2%E8%87%AA%E8%A1%8C%E5%A1%AB%E5%86%99%29]联系作者

本文永久地址:http://codeup.org/archives/101
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: