让Delphi XE2程序支持UAC
2016-03-02 23:32
337 查看
在win7下,开发的程序有的时候莫名其妙就不能正常工作了,其实都是因为权限不够,要想能够正常运行,就需要获得管理员权限,这就需要处理UAC。具体方法如下:
一,制作“uac.manifest”文件。新建一个名为“uac.manifest”的文件,在里面加入如下内容:
[plain] view plain copy
<?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>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false">
</requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
二,设置XE2工程属性。Project->Options->Application->Runtime Themes->Use custom manifest,随后选择"uac.manifest"文件,点”OK“按钮,随后编译程序,这样我们的程序就在运行时候会提示用户提升权限,在运行时的对话框中选择”是“,我们的程序就拥有了管理员权限,有足够权限做我们想做的事情了。
UAC很有意思的地方:
1,如果一个拥有UAC权限的程序运行后,这个程序再执行需要UAC权限的程序,也不会再出现UAC提示了。
2,如果一个拥有UAC权限的程序运行后,把一个需要UAC权限的程序注册成NT Service程序,这个NT Service程序运行不在出现UAC提示。
参考:
http://hi.baidu.com/mestars/item/bef02c1653b3426e70d5e861
http://blog.csdn.net/sunylat/article/details/9093379
一,制作“uac.manifest”文件。新建一个名为“uac.manifest”的文件,在里面加入如下内容:
[plain] view plain copy
<?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>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false">
</requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
二,设置XE2工程属性。Project->Options->Application->Runtime Themes->Use custom manifest,随后选择"uac.manifest"文件,点”OK“按钮,随后编译程序,这样我们的程序就在运行时候会提示用户提升权限,在运行时的对话框中选择”是“,我们的程序就拥有了管理员权限,有足够权限做我们想做的事情了。
UAC很有意思的地方:
1,如果一个拥有UAC权限的程序运行后,这个程序再执行需要UAC权限的程序,也不会再出现UAC提示了。
2,如果一个拥有UAC权限的程序运行后,把一个需要UAC权限的程序注册成NT Service程序,这个NT Service程序运行不在出现UAC提示。
参考:
http://hi.baidu.com/mestars/item/bef02c1653b3426e70d5e861
http://blog.csdn.net/sunylat/article/details/9093379
相关文章推荐
- DELPHI XE7 新的并行库
- DELPHI7在WIN8和WIN10下安装和运行
- delphi中无类型文件读写
- delphi之完美Splash方案(在TfrmMain.FormCreate里不断调用TfrmSplash显示加载进度文字,并且及时Update显示)
- DELPHI字符串、数组操作函数
- delphi 如何比较两个二维数组是否相等
- delphi获得当前鼠标坐标
- Delphi通过查找字符定位TADOQuery数据的位置
- Delphi在DBGridEh改变选中行颜色
- 未安装excel delphi listview导出到excel
- delphi程序在自身EXE后(插入)追加文件、数据
- delphi在64位系统下写注册表注意事项
- Delphi DBGrid图显用法
- 一个简单的MDI示范程序(Delphi)
- DELPHI如何调用存储过程
- delphi 中如何调用sql 存储过程
- Delphi Length函数
- Delphi 7 调用 C# WebService
- Delphi一共封装(超类化)了8种Windows基础控件和17种复杂控件
- Delphi基本图像处理方法汇总