delphi 怎么样修改exe文件图标  急
我想修改已经编译好了的exe文件图标...比如,把 QQ 的图标修改...成..MSN 的图标..我要的是用 delphi怎么实现...(不要用工具!)

解决方案 »

  1.   

    三个API,不过很繁,与你应用程序的语言及应用程序的图标个数图标类型有关
    BeginUpdateResource
    UpdateResource
    EndUpdateResource
    给你BCB的类似贴参考http://community.csdn.net/Expert/topic/4892/4892716.xml?temp=.5368158
      

  2.   

    http://www.delphibbs.com/delphibbs/dispq.asp?lid=1829109
    来自:特尔斐, 时间:2003-5-7 13:47:00, ID:1836847 
    具体点是这样做:
    PE文件的主图标是从26d2H处开始存放,你先载入一个图标到一个内存流中
    再将要更改图标的EXE文件载入到另一个流中,将EXE文件流的指针指向
    $26d2f,将图标流的指针指向$15,然后循环读取图标流到结尾并写入EXE文件流
    就这样,EXE文件的图标已换成你自己的了。
    给分吧,兄弟!来自:ForestGuy, 时间:2003-5-7 17:24:00, ID:1837915 
    使用API
    BeginUpdateResource
    UpdateResource
    EndUpdateResource
    在MSDN里有详细说明 
      

  3.   

    keiy() 提供的网页上的BCB例子确实可以达到要求。
      

  4.   

    直接在project->options 选中里面的application 标签,点"load icon",然后选择你期望的.ico文件就可以做exe的图标了,不用写程序什么的那么麻烦
      

  5.   

    用winAPI实现
    var h: HWND;
        Icon: HICON;
    begin
     if OpenDialog1.Execute then
       begin
         h := FindWindow('Notepad',nil);
         Icon := LoadCursorFromFile(PChar(OpenDialog1.FileName)); {*.ico}
         SendMessage(h, WM_SETICON, ICON_SMALL, Icon);
       end;
    end;
    也可以先用ExtractIcon从.exe或.dll文件中提取图标,
    我也写过一个这样的程序要的话留下邮箱...