L
l0v3_y1n9
Unregistered / Unconfirmed
GUEST, unregistred user!
如何删除一个文件里面的资源,比如a.exe文件的RT_RCDATA类型下有一个名为LOVE的资源,如何删除并可以减少原文件大小?<br>我测试代码如下:<br><br>function DeleteResource(const FileName: string; const ResType, ResName: PChar): Boolean;<br>var<br> hUpdate: Cardinal;<br>begin<br> Result:= False;<br> hUpdate:= BeginUpdateResource(PChar(FileName), False);<br> if hUpdate = 0 then Exit;<br> try<br> Result:= UpdateResource(hUpdate, ResType, ResName, 0, nil, 0);<br> finally<br> EndUpdateResource(hUpdate, not Result);<br> end;<br>end;<br><br>procedure TForm1.Button7Click(Sender: TObject);<br>begin<br> if DeleteResource('a.exe',RT_RCDATA,'LOVE') then<br> ShowMessAge('OK')<br> else ShowMessAge('Err');<br>end;<br><br>测试后,名为LOVE的资源确实是删除了,但是体积没有减少...<br>我用ResHacker删除资源,体积是会根据所删除的资源大小而减少的.<br>有那位可以帮忙解决实现ResHacker的删除效果!致谢!