关于updateresource和bitmap资源(100分)

  • 主题发起人 主题发起人 DNChen
  • 开始时间 开始时间
D

DNChen

Unregistered / Unconfirmed
GUEST, unregistred user!
使用updateresource api倒入bitmap文件成功,但是程序读取时发<br>生错误,使用各类工具读取,发现只有若干程序能够支持读取出,<br>所以相信是resource中的bitmap资源是不能直接放入bmp文件数据的方法<br>进行的,不知道谁有相关的格式资料,能够提供,感激不尽!
 
UpdateResource只能在WinNT或Win2K下良好运行,如果是Win9X就会问题百出!<br>建议用TResourceStream操作资源文件!<br><br>BeginUpdateResource <br>HANDLE = BeginUpdateResource( LPCSTR pFileName, BOOL bDeleteExistingResources )<br>LPCTSTR pFileName, // 可执行文件名<br>BOOL bDeleteExistingResources // 是否删除可执行文件的现有资源<br>该函数返回一个句柄,为UpdateResource函数在可执行文件中进行添加、删除、替换资源等操作。
 
我知道,我是在winxp下运行的,而且<br>tresourcestream不能写入,只能读出,另外,updateresource在98中应该是updateresourcew函数名是不同的
 
又及,不知道你有没有看过tresourcestream的source,你可以发现,他的write方法是个骗局,<br>他告诉你write方法不能对已经读入内存的exe,dll使用,但是在create的时候却要求你以一个<br>thandle来create,而且必须是loadlibrary的方法产生的,这样又必须被调用尽内存,所以最后<br>的结果就是根本不可能有一种情况可以使用write方法。所以write函数整个只有一句话,就是<br>产生一个exception,告诉你文件是只读的,borland有时候也干一些很妖的事情。<br><br>研究了半天这个东西,已经有些心得,从c代码中间学习了很多东西,还没有完全成功,如果<br>成了,我会贴出代码来的。
 
斑竹帮我关闭这个帖子,我已经找出了大部分格式的修改方法,硬分析文件格式说起来<br>也不是很麻烦的事情,:)<br><br>等我整理好以后,再贴给大家用吧
 
请将类别改为 多媒体 ,我帮你删了他。
 
BeginUpdateResource函數中的刪除參數不要設True就不會有錯誤.
 
sorry,蛮久没来了,机器坏掉,代码没了,贴不出来,最后发现, bitmap资源是要BMP格式的文件头部分删除掉,然后再写入才能成功的,具体实现没办法给大家看了,不过相信真正在做的人能看懂这个
 
后退
顶部