如果您在D2010中编译程序,则会自动生成清单.res文件。它默认包含在你的程序中吗?或者你必须自己包括它?如果是,给你什么级别的特权?我的程序修改了一个注册密钥,它是否能够对.res文件进行任何修改?如果没有我需要做什么修改?
一个侧面问题:是否有一个组件/专家(可以免费)可以像delphi 2010一样自动生成/包含.res文件在我的delphi 7和delphi 2007项目中?
编辑:忘了提及我没有win7或vista也没有使用过它们
edit2 :我已经包含了一个清单文件以防万一this tutorial,但教程只讨论了windows vista而不是7本教程中的.xml(manifest)文件使我的应用程序能够运行处理win7 UAC的问题
edit3 如果我包含我自己的清单文件,并且默认情况下delphi也会包含它,这将生成2个清单文件(1个带有admin previlages而第2个没有)会导致任何问题/不可预测的行为
答案 0 :(得分:8)
delphi生成的清单为您的进程提供了最低权限(顺便说一下,这是默认权限)。
您必须修改清单文件才能使 ASK 获得在管理权限下运行的权限(被叫海拔)。
具有标准权限的应用程序应该在没有提升的情况下读/写HKEY_CURRENT_USER
。
访问%programfiles%
和HKEY_LOCAL_MACHINE
需要提升。 (不太确定其他注册表配置单元)
这是一份PDF文件,可以帮助您完成所需的工作。
http://pascalfonteneau.developpez.com/articles/delphi/vista/uac/VistaUACandDelphi.pdf