在 98用 BeginUpdateResource 返回的是 NULL~~~~~~~
MSDN的资料很少~~~~~~~

解决方案 »

  1.   

    各位,我要的是编程实现,不要告诉我去用exescope之类的东西
      

  2.   

    是编程修改 另外一个 exe文件里的 id为101的图标。有谁做过啊??我查过csdn的记录,这个问题好象重来没有真正解决过哦
      

  3.   

    建议你研究一下PE文件的格式
    我有一个朋友在金山
    他们汉化软件就是直接利用PE文件的格式读出资源,汉化后写回去
      

  4.   

    首先到resource view中将图标导入进来,确定ID号,如IDR_ICON再用如下函数将图标装载进来
    ICON m_hIcon;
    m_hIcon = AfxGetApp()->LoadIcon(IDR_ICON);
      

  5.   

    把"c:\\aaa.ico“的Ico文件的头去掉,把去掉头以后的数据写回EXE文件中图标资源的相应位置。
      

  6.   

    你需要了解pe格式,在程序大本营2000有一个从pe格式里读取资源的列子,可能对你有帮助
    找到icon 的位置和偏移量,解如就可以了,icon被编译后并无改变。我原来做过一个替换图片的
    很成功。
      

  7.   

    假定你会替换本进程内的图标,要替换其他进程中的图标,你就必须使那个进程调用替换图表的代码:方法如下:   调用 VirtualAllocEx函数(使用MEM_COMMIT标志)在目标进程分配内存,然后你在自己的进程写一段替换图标的汇编代码(会不会?),并且把这段代码拷贝到刚才你在目标进程分配的空间中,再调用CreateRemoteThread在目标进程执行这一段代码
      

  8.   

    to xiaogq(三生缘):
    我不须要改进程内存,只须改另一个文件的资源 
      

  9.   

    Additon:If you get destination process,you may use ToolHelper,PsAPI ,PDH ,etc .You Do not use VC++'s advanced Code Copying,because after VC++ compile you function to machine code ,first two bytes is JMP instruction .if you want to use machine code compiled by advanced Code,you may use Delphi,thus ,you avoid write asm code 
     
    in your machine code or advanced code ,last statement must ExitThread function,otherwise ,you will get exception!,and your destination process will Terminate!!! 
      

  10.   

    asm我会,不过其实我只须改另一个静态文件的资源就行了
      

  11.   

    顺便说,msdn的那个 resource viewer例程不是用读PE格式的方法的、、、、今天看了 asm的找PE文件的 Import table例子,还没有头绪、、、、
      

  12.   

    to zeclmj(小楼):
    你那个
    [把"c:\\aaa.ico“的Ico文件的头去掉,把去掉头以后的数据写回EXE文件中图标资源的相应位置。] 
    的方法应该可行,具体怎么做啊?
      

  13.   

    想实现exescope的功能,又不想了解pe格式,难.
    可以看一看resview的源代码,程序大本营2000理有.是一读资源的例子.
    代码我不能贴出,至少几百行.
    知道了怎么读,写时去掉ico的头,写入原文件.不过如你不知pe格式,会失败的.
      

  14.   

    读资源跟写资源不同啊~~~而且那个 resview不是用读PE格式的方法做的,是用api的~~~
      

  15.   

    请到
    http://mfm.onchina.net/
    看PEWelder的实现,那里有你要的答案。
      

  16.   

    侯捷那里有一本免费电子书:《Windows 95 系統程式設計 大奧秘》
    里面有很详细的关于PE格式的资料。
    MSDN的Technical Articles/Windows Platform/Base Services里有一篇《The Portable Executable File Format from Top to Bottom》
    有了上面两个资料你基本上就能定位资源,了解资源目录树结构了。然后在MSDN里的Specifications/Platforms/Win32 Binary Resource Formats里能够找到各种资源的详细二进制结构说明。
    有了这个资料你就能解析各种具体的资源了。PE文件的各种相关数据结构的定义都在Winnt.h里。然后就看你的编程功底了^o^