delphi 把EXE可执行文件等作为资源包含在Delphi编译文件中


本文整理自网络,侵删。

 建立文本文件       TEST.RC       撰写下面的一行   
    
    AEXE     EXEFILE     c:\test.exe   
    
    存盘   
    
    copy     test.rc     到你DELPHI目录里的     bin     目录   
    
    执行     brcc32     test.rc   
    得到     test.res   
    
    copy     test.res     到你的工程目录   
    
    记得在工程文件里加上     {$R     test.res}   
    
    提取RES中的TEST.EXE的函数   
    
    procedure     extractexeres(restype,     resname,     resnewname:string);   
    var     
        res:tresourcestream;     
    begin   
        res:=tresourcestream.create(hinstance,resname,pchar(resyype));   
        res.savetofile(resnewname);   
        res.free;     
    end;   

建立文本文件       myjpg.RC       撰写下面的一行   
    
    Hash     JPGFILE     c:\myjpg.jpg   
    
    存盘   
    
    copy     myjpg.rc     到你DELPHI目录里的     bin     目录   
    
    执行     brcc32     myjpg.rc   
    得到     myjpg.res   
    
    copy     myjpg.res     到你的工程目录   
    
    记得在工程文件里加上     {$R     myjpg.res}   
    
    提取RES中的MYJPG.jpg的函数   
    
    procedure     extractexeres(resname,     restype,     resnewname:string);   
    var     
        res:Tresourcestream;     
    begin   
        res:=Tresourcestream.create(hinstance,resname,pchar(restype));   
        res.savetofile(resnewname);   
        res.free;     
    end;   
    //这样你就可以调用resnewname这个     jpg文件了。   
    调用的时候如下:   
    Extractexeres('Hash','JPGFILE','f:\myjpg.jpg');

换一种说法:

1、生成一个rc文件,文件格式如下:
    rwww exefile "test.exe"    //rwww是资源名称
                              //exefile是资源类型
                             //text.exe是资源
   资源类型列表:
   Wave:    资源文件是声音文件;  
   RCDATA:    一般二进制文件;  
   AVI:    AVI动画;  
   ICON:    图标文件;    
   BITMAP:    位图文件;    
   CURSOR:    光标文件; 
   exefile:   exe文件
   FILE:     一般文件   


2、将delphi安装目录下bin中的brcc32.exe文件拷出,用brcc32.exe执行
    生成的rc文件,在dos窗口下 运行:brcc32 test.rc   生成正式的
    后缀为.res的次源文件

3、在delphi中加入编译指令{$R test.res}用以编译。但注意,以上的test.exe文件
    一定要在当前路径下存在。

4、调用:

      var
        t : TResourceStream;
      begin
        try
          t := TResourceStream.Create(HInstance,'rwww','exefile'); //其中HInstance为一个句柄常量;rwww为资源名;exefile为资源类型
          t.SaveToFile('c:\2.exe'); //保存文件成2.exe
        finally

          t.free;
        end;
      end;

相关阅读 >>

Delphi randomfrom 随机返回字符串数组avalues中的一个元素

Delphi压缩与解压_不需要特别的控件

Delphi tlistview按指定列排序

Delphi 读取流 image1 stream 加载到image2 timage 对象

Delphi 反转内存的函数

Delphi dll创建并调用

Delphi钩子注入程序

Delphi winsock远程唤醒计算机的函数

Delphi 创建自己的定时器 定时清理内存

Delphi 在win32程序中显示dos调试窗口

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...