這個小東西折騰了好長時間才搞定,記錄一下
csdn上有此帖子:
http://community.csdn.net/Expert/TopicView3.asp?id=5683442在vista下文件名含有“update”的可執行文件在運行時都會被uac提示警告,不能改變文件名稱,如何才能避開這個警告,QQ的
QQLiveUpdate.exe 程序是可以避開的。
用VC的資源方式打開QQ的
QQLiveUpdate.exe,可以看到它的資源里面有個類型為
RT_MANIFEST,
ID為
1的資源。那是一段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
七星重劍 閱讀(1328)
評論(0) 編輯 收藏 引用 所屬分類:
PL--c/c++ 、
OS -- Vista