Delphi在Vasta/win 7下通过UAC控制
现在有一种方式可以变相的绕过UAC控制。其实UAC控制有一点很弱智的是,当你的程序名字中包含Installation、Setup等词时,UAC认为你是安装程序,会默认进行UAC提示,提示用户给此程序提高权限。这对于安装包可以简单解决,但是如果我们的主程序也需要高权限的话,我们需要一个manifest文件来告诉UAC:我需要一个较高的权限,UAC也会提示用户提权。具体操作如下,但是此方法有个不能解决的问题是UAC会提示次软件未经微软认证,执行可能会影响安全。解决方法只有一个,那就是购买微软的软件认证……坑爹啊!
1.建立 res 文件
建立一个文本文件,名字可以自己起,我这里叫:UAC.manifest,内容:
|
01
02
03
04
05
06
07
08
09
10
11
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><!--这是主要的一句,申请Admin权限,等同于右键管理员打开。--><requestedExecutionLevel level="requireAdministrator"/></requestedPrivileges></security></trustInfo></assembly> |
建立文本文件,名为 UAC.rc,内容:
1 24 UAC.manifest |
编译成 uac.res 文件,运行:brcc32 uac.rc -fouac.res
2.在代码中引入
打开项目文件,加入
{$R uac.res} |
3.编译程序
这时程序就支持 VISTA 和WIN7的UAC了,在运行的时候,会弹出 WINDOWS 的提示框,询问用户是否允许以管理员身份运行。
Delphi在Vasta/win 7下通过UAC控制的更多相关文章
- Win环境下的文件读写
在win环境下,有许多方法可以对文件进行读写操作,如MFC 中的CFile类,及一些开源的项目如QT中的QFile.开源的好得是可以多平台,而MFC只是微软自家的东西,对于想写跨平台的人,最好不用MF ...
- Win 7 下制作 mac 系统启动U盘
Win 7 下制作 mac 系统启动U盘 前几天因为工作需要,在mac 上安装了win7.后来因为习惯问题将win7 分区了,后来就是进不去mac os,只能进入win7 .可恶. 苹果客服说只能用m ...
- Win 2003下IIS6+Mysql+php5.2 isapi搭建 升级php5.2到5.3测试 借助fastcgi实现
Win 2003下IIS6+Mysql+php5.2 原环境isapi搭建 升级php5.2到5.3测试 借助fastcgi实现 操作如下 实验前准备:php-5.3.5-Win32-VC6-x86 ...
- 【转】Win 7 下源码运行OpenERP7.0
原文地址:Win 7 下源码运行OpenERP7.0 安装Python2.7 下载地址:http://www.python.org/getit/注:OpenERP7.0支持的Python版本最高为2. ...
- Win环境下Oracle小数据量数据库的物理备份
Win环境下Oracle小数据量数据库的物理备份 环境:Windows + Oracle 单实例 数据量:小于20G 重点:需要规划好备份的路径,建议备份文件和数据库文件分别存在不同的存储上. 1.开 ...
- WIN 10下Mysql 5.7.21解压缩(免安装版)配置
网上看了N多大神的东西东抄抄西抄抄,老是就不对,因为很多资料不是针对5.7这个版本的内容. 首先解压文件,比如我解压到D:\Program Files\mysql-5.7.21-winx64 第一步: ...
- 在Win环境下配置java的环境进行开发步骤
1.下载官方JDK,网址如下 http://www.oracle.com/technetwork/java/javase/downloads/index.html
- win 7 下合并多个表格
首先我这里从服务器上下载了一大堆的表格 分类放好之后 这里我们需要把每一类的表格合并成一张表格 这里我们使用win 7下的copy的命令 这里我的表格的格式是csv 使用cmd 我们先cd到你的表格的 ...
- Win 8下Rime输入法无法同步的临时解决方法
意外发现了Rime输入法(OS X上叫鼠须管'Squirrel',windows上叫小狼毫'Weasel',linux上叫中州韵'ibus-rime',连名字都起的这么牛逼),真是神器啊,流畅的速度, ...
随机推荐
- 安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法
在android4.0源码里面编译出来apk后,用adb install (或adb install -r 重装)安装时,报错[INSTALL_FAILED_DEXOPT]. xu@xu-PC:~$ ...
- CGI接口原理及实现(转载)
原文:http://blog.csdn.net/duola_rain/article/details/15812585 CGI接口原理及实现(2012-12-7 Over) 1.CGI定义: CGI( ...
- VI中的批量替换 (转载)
1) 文件内全部替换: :%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g) --注:把abc替换成123 (或者: %s/str1/str2/g 用s ...
- Lorenzo Von Matterhorn
Lorenzo Von Matterhorn Barney lives in NYC. NYC has infinite number of intersections numbered with p ...
- Fragment在Activity中的应用 (转载)
原文链接 http://www.cnblogs.com/nanxin/archive/2013/01/24/2875341.html 在本小节中介绍在Activity中创建Fragment. 官网有很 ...
- USACO Section 1.1 Broken Necklace 解题报告
题目 题目描述 有一串项链,它是由红蓝白三种颜色的珠子组成的,b代表蓝色,w代表白色,r代表红色,当它完整的时候是一个闭合的环形.现在它在某一个节点断裂了,之前的环形也随之变成了直线形.从两端开始收集 ...
- mac版MyEclipse的安装及创建web项目
这两天快被MyEclipse整死了,因为电脑是mac系统的,安装MyEclipse mac破解版时一直是不成功,弄了一天多才行,接着创建web项目HttpServlet在Tomcat发布时总是出现40 ...
- 一道js题
<script> var a = 5; function test(){ this.a = 10; a = 15 this.func = function(){ var a = 20 ; ...
- 用javascript实现完全的类(private、pubulic等)
js是面向对象的,但是其不像java一样完全的面向对象,但是利用其灵活性,我们可以使用它进行高度的模拟,来看下面的代码: function Student(name){ this.name=name; ...
- [iOS]C语言技术视频-15-指针变量高级用法练习一(函数指针完成动态排序)
下载地址: 链接: http://pan.baidu.com/s/1o6MOzX4 密码: xzxn