Delphi程序必须在资源里面嵌入MANIFEST信息
一、 首先编辑一个文件,内容如下: <?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 "/> </requestedPrivileges> </security> </trustInfo> </assembly> 保存为UAC.manifest,这里文件是随意的。特别注意红色的“requireAdministrator”,这个表示程序需要管理员(Administrator)才能正常运行。 二 、然后编辑一个RC文件,名称为uac.rc 内容为:
1 24 UAC.manifest
注释: *数字1表示资源编号; *数字24表示资源类型为RTMAINIFEST; *UAC.manifest表示前面的文件名称。 三、 用brcc32编译这个rc文件为res文件,如下所示: brcc32 uac.rc -fouac.res 四 、在程序program文件{$R *.res}后面加入 {$R uac.res}
同时去掉Project ->Options->Application->Enable runTime themes 的“√”,然后重新编译exe文件即可 五 、把文件放到vista或win7下运行,就会看程序图标下面显示UAC盾牌标志了。
一、 首先编辑一个文件,内容如下: <?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 "/> </requestedPrivileges> </security> </trustInfo> </assembly> 保存为UAC.manifest,这里文件是随意的。特别注意红色的“requireAdministrator”,这个表示程序需要管理员(Administrator)才能正常运行。 二 、然后编辑一个RC文件,名称为uac.rc 内容为:
1 24 UAC.manifest
注释: *数字1表示资源编号; *数字24表示资源类型为RTMAINIFEST; *UAC.manifest表示前面的文件名称。 三、 用brcc32编译这个rc文件为res文件,如下所示: brcc32 uac.rc -fouac.res 四 、在程序program文件{$R *.res}后面加入 {$R uac.res}
同时去掉Project ->Options->Application->Enable runTime themes 的“√”,然后重新编译exe文件即可 五 、把文件放到vista或win7下运行,就会看程序图标下面显示UAC盾牌标志了。
|
请发表评论