快速业务通道

C++ Builder中各种资源的利用

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
,点击该按纽,会播放一次声音。

----对于动画等文件,使用方式类似Wav文件。(BCB提供了一个Tanimate控件,可以播放无声的Avi文件)

---- 4:不能直接通过windows API使用的资源  

----此种资源不能够由windows API直接访问和执行。但是,我们可以用一种变通的方法来使用它。

----下面示范如何使用pkunzip.exe,思路如下:程序运行时,将pkunzip.exe从EXE文件中分离出来,放在临时目录下,用ShellExecute()执行它。

----在FORM上放置第三个按纽,在放置两个Edit ,用来输入pkunzip.exe的参数。

void __fastcall TForm1::Button3Click(Tobject *Sender)
{
char exefile[100], tmppath[100] ;
   unsigned long ret ;
   //检查pkunzip.exe是否已经存在
GetTempPath( 100, tmppath ) ;
   strcpy( exefile ,(AnsiString(tmppath)+
    AnsiString("\\pkunzip.exe") ).c_str() ) ;
ret = GetFileAttributes( exefile ) ;
   if( ret == 0xffffffff )
    { //不存在,则分离出pkunzip.exe
      TResourceStream &rs = *new TResourceStream( (int)Hinstance, AnsiString("unzip"),"EXEFILE" ) ;
   rs.SaveToFile( AnsiString(exefile) ) ;
       delete &rs ;
   }
  //执行pkunzip.exe
// Edit1- >Text和Edit2- >Text分别为运行时输入的zip文件名和目标文件目录。
ShellExecute(Hinstance, "open", exefile, AnsiString("-d ") + Edit1- >Text + " " + Edit2- >Text).c_str(), tmppath, SW_HIDE ) ;
     Application- >MessageBox("解压缩完成", "OK", IDOK ) ;
}

----此种方法实际上是用时间和空间来换取便利性,有一定的参考价值。例如,DynaDoc的免费分发版本,就是将真正的执行程序压缩后放在一个有解压缩功能的“壳”中。运行时,首先是“壳”运行起来,将真正的执行程序解压缩到临时目录,然后去运行它。如果你的程序含有大量的BMP,WAV文件,不妨一试,能让你的程序减肥不少。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号