随笔 - 505  文章 - 1034  trackbacks - 0
<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456


子曾经曰过:编程无他,唯手熟尔!

常用链接

留言簿(94)

随笔分类(649)

随笔档案(505)

相册

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

积分与排名

  • 积分 - 893938
  • 排名 - 14

最新随笔

最新评论

阅读排行榜

评论排行榜

这个小东西折腾了好长时间才搞定,记录一下

csdn上有此帖子:
http://community.csdn.net/Expert/TopicView3.asp?id=5683442

在vista下文件名含有“update”的可执行文件在运行时都会被uac提示警告,不能改变文件名称,如何才能避开这个警告,QQ的QQLiveUpdate.exe 程序是可以避开的。

用VC的资源方式打开QQ的 QQLiveUpdate.exe,可以看到它的资源里面有个类型为RT_MANIFESTID1的资源。那是一段XML代码,把它复制到你的程序中,它就可以直接拥有管理员权限。

下面是里面的xml代码:
把其中的<description>字段中的QQLiveUpdate改为你的应用程序名称就可以了,好像大小写也要一致。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  
<assemblyIdentity version="1.0.0.0"
     processorArchitecture
="X86"
     name
="IsUserAdmin"
     type
="win32"/> 
  
<description>QQLiveUpdate</description> 
  
<!-- Identify the application security requirements. -->
  
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    
<security>
      
<requestedPrivileges>
        
<requestedExecutionLevel
          
level="asInvoker"
          uiAccess
="false"/>
        
</requestedPrivileges>
       
</security>
  
</trustInfo>
</assembly>

操作方法:
如果你的应用程序是用vc编辑的,那非常容易,直接在解决方案资源管理器视图中项目名或资源文件夹上点右键->添加资源->自定义

资源类型填:RT_MANIFEST
把改好的xml段粘贴到出来的00000000的后面
把ID设为1,External File设为 False

C++ Builder:
   我不知道怎么在bcb里设置,谁知道告诉我 ^_^
   我是直接用vc打开用c++ builder生成的exe,点右键-〉添加资源,其他跟上面一样了

总结:
         解决这个问题问了公司的两大技术元老,hongchun & xuzhao,在此致谢!

ps: 
         今天我参与的网游项目《巨人》终极封测,大家有兴趣可以玩玩看 ^_^
posted on 2007-08-07 14:45 七星重剑 阅读(1302) 评论(0)  编辑 收藏 引用 所属分类: PL--c/c++OS -- Vista

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理