关于winapi中的资源函数的用法?说的详细些[分数可以增加] (50分)

M

mt

Unregistered / Unconfirmed
GUEST, unregistred user!
看了许多的资源编辑软件,一直想自己编一个,但我对资源函数不太懂,<br>想向大家讨教:请不要告诉我delphi自带的Demos他介绍的不详细,最好是<br>api详解<br>BeginUpdateResource<br>CopyImage<br>EndUpdateResource<br>EnumResLangProc<br>EnumResNameProc<br>EnumResourceLanguages<br>EnumResourceNames<br>EnumResourceTypes<br>EnumResTyPeProc<br>FindResource .....全部<br>最好是那里有关于资源函数的详细信息(中文)<br>或者原代码以供参考的
 
有的在NT,2K下才能用。
 
Updateresource其引用前要先BeginUpdateResource <br>HANDLE = BeginUpdateResource( LPCSTR pFileName, BOOL bDeleteExistingResources )<br>LPCTSTR pFileName, // 可执行文件名<br>BOOL bDeleteExistingResources // 是否删除可执行文件的现有资源<br>该函数返回一个句柄,为UpdateResource函数在可执行文件中进行添加、删除、替换资源等操作。 <br>Example:<br>procedure TForm1.Button1Click(Sender: TObject);<br>Var Res : THandle;<br>&nbsp; &nbsp; HD &nbsp;: String;<br>Begin<br>&nbsp; &nbsp; &nbsp;HD := Check_HD;<br>&nbsp; &nbsp; &nbsp;Res := BeginUpdateResource('EXE_A_MODIFICAR',False);<br>&nbsp; &nbsp; &nbsp;UpdateResource(Res,RT_RCDATA,''NOMBRE_DEL_RECURSO',0,Pointer(HD),Length(HD));<br>&nbsp; &nbsp; &nbsp;If EndUpdateResource(hRes,False) then<br>&nbsp; &nbsp; &nbsp;ShowMessage('修改成功!');<br>End;<br><br><br>CopyImage的例子:<br>var<br>&nbsp; image1 : TPicture ;<br>begin<br>&nbsp; Image1 := TPicture.Create;<br>&nbsp; Image1.LoadFromFile(Filename);<br>&nbsp; if Pos('.BMP', Uppercase(FileName))&gt;0 then<br>&nbsp; &nbsp; &nbsp;Image1.Bitmap.Handle := CopyImage(Image1.Bitmap.Handle, Image_Bitmap,16, 16, Lr_CopyDeleteOrg)<br>&nbsp; else<br>&nbsp; &nbsp; &nbsp;Image1.Icon.Handle := CopyImage(Image1.Icon.Handle, Image_Icon, 16, 16,Lr_CopyDeleteOrg);<br>end; <br><br>
 
正如jsxjd所言,其中一些资源函数在98下是不能用的。 所以, 如果要做通用的资源<br>编辑软件,得想别的办法。 &nbsp;eXeScope用的是WriteFile这个API, 我曾经研究了一阵<br>子,后来没时间就放弃了,呵呵。<br>
 
我看过一个局域网聊天程序,用到关于这些所有的API函数<br>你可以搜一下,呵呵<br>
 
http://web.zjtrade.com/awin/softdown/list.asp?id=73<br>下这个,说的很详细!
 
我希望的是有代码例子?谢谢啦!
 
用大富翁离线数据库搜索一下,不全出来了?
 
试过了!只搜到一个命令
 
up<br>up<br>http://web.zjtrade.com/awin/softdown/list.asp?id=73 &nbsp;打不开[:(]<br>
 
那是个帮助文件。现在好象不能下了!说信箱我发给你吧
 
to tryin:<br>谢谢!<br>yangh888@163.net
 
定个邮件,不求分。
 
已经发信给你!
 
to tryin:<br>能否也发给我一份,谢谢!<br>liyigang@263.net
 
顶部