摘自我自己过去写的一段心得。

1.编辑资源文件 *.RC
Wave: 资源文件是声音文件;
RCDATA: 二进制数据
AVI: AVI动画;
ICON: 图标文件;
BITMAP: 位图文件;
CURSOR: 光标文件;
比如:
MyWav WAVE "FileName.Wav"

2.使用Brcc32转化为*.RES文件

3.在工程中引用RES文件
比如:{$R MyRes.RES}

4.运行时读入
    通过TResourceStream ,比如TResourceStream.Create(HInstance, ResName, RT_RCDATA);
    API:LoadBitmap,LoadIcon等
    组件:Image1.Picture.Bitmap.LoadFromResourceName
/////////////////////////////////////////////////////////
把EXE可执行文件等作为资源包含在Delphi编译文件中2010/01/18 8:29 P.M.感觉还是挺有用的,转载保存了~~~

建立文本文件       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;
///////////////////////////////////////////////////////////
编辑一个 resource.rc 文件 ,里面类似如下 :

hookdll RC_Dll YourHookDllFileName.Dll

2: 然后用 Brcc32.exe 编译 :

brcc32 resource.rc

结果生成 resource.res 文件

3: 修改窗体 Pas 或者 Dpr 文件 ,添加下面的代码 :

{$R *.res}

{$R resource.res}

4: 关键的代码 :

在窗体初始化或者工程的开头部分添加代码 :

var

res:tresourcestream;

....

res:=tresourcestream.create(instance,'hookdll','RC_Dll');

res.SaveToFile('YourHookDllFileName.Dll');

res.Free;

5: 你的程序退出的时候 :

DeleteFile('YourHookDllFile.Dll');

6:End

http://www.cnblogs.com/hssbsw/archive/2012/03/15/2397825.html

把EXE可执行文件等作为资源包含在Delphi编译文件中的更多相关文章

  1. Spring MVC静态资源处理(在applicationContex.xml文件中进行配置)

    优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...

  2. Ansible_包含和导入playbook文件

    一.管理大型的playbook 1️⃣:如果playbook很长或很复杂,我们可以将其分成较小的文件以便于管理 2️⃣:可采用模块化方式将多个playbook组合为一个主要playbook,或者将文件 ...

  3. 如何在Qt资源文件中包含和释放exe等各种类型文件?

    操作系统:Windows 10 X64 企业版 Qt: 5.8.0 QtCreater: 4.2.1 刚刚开始学习Qt,不断遇到困难和挑战,前几天在各个QQ群里询问如何在Qt的资源文件中包含和释放ex ...

  4. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

  5. 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件

    1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以 ...

  6. 如何把py文件打包成exe可执行文件

    如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...

  7. pyinstaller使用-python项目转换成exe可执行文件

    http://blog.csdn.net/pipisorry/article/details/50620122 Python不是每个人的计算机里面都有安装,当您写了一个好用的工具,需要一个standa ...

  8. 使用py2exe将python脚本转换成exe可执行文件

    Python(wiki en  chs)是一门弱类型解释型脚本语言,拥有动态类型系统和垃圾回收功能,支持多种编程范式:面向对象.命令式.函数式和过程式编程. 由于Python拥有一个巨大而广泛的标准库 ...

  9. 将jar文件转换成exe可执行文件[转]

    将jar文件转换成exe可执行文件: exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性. 如果你坚持要转换成exe文件,请按以下方式进行: 利用exe4j ...

随机推荐

  1. iOS通过URL构建UIImage

    很多时候我们只能得到一个URL,然后需要构建一个UIImage. 通常情况下,我们一般都是通过SDWebImage来直接构建UIImageVIew的image,如何用URL直接构建UIImage呢? ...

  2. Java中方法的重写

    ★★前提:方法的重写建立在继承关系上★★ 在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量. 所谓方法的重写是指子类中的方法与父类中继承 ...

  3. BZOJ 1969 航线规划 - LCT 维护边双联通分量

    Solution 实际上就是查询 $u$ 到 $v$ 路径上 边双的个数 $ -1$. 并且题目仅有删边, 那么就离线倒序添边. 维护 边双 略有不同: 首先需要一个并查集, 记录 边双内的点. 在 ...

  4. Python 常用模块之re 正则表达式的使用

    re模块用来使用正则表达式.正则表达式用来对字符串进行搜索的工作.我们最应该掌握正则表达式的查询,更改,删除的功能.特别是做爬虫的时候,re模块就显得格外重要. 1.查询 import re a = ...

  5. php服务器---IIS一些问题

    配置网上很多博客都介绍过..这里不作详细说明了..将PHP目录(D:\PHP\PHP)下的php.ini-recommended或者php.ini-dist改名为php.ini,并找到extensio ...

  6. 2017/2/12:springMVC的简单文件上传跟拦截器

    1.写文件上传的界面jsp代码如下重点为文件上传标签的类型 2.写登录成功跟失败的界面:成功自己写 3.写springMVC的文件上传的controller的方法 4.最后一步配置spring-ser ...

  7. O365 Manager Plus详解

  8. 2018.11.06 bzoj1040: [ZJOI2008]骑士(树形dp)

    传送门 由题可知给出的是基环森林. 因此对于每个基环森林找到环断开dpdpdp两次就行了. 代码: #include<bits/stdc++.h> using namespace std; ...

  9. 常用API接口

    引用  常用API接口汇总

  10. yyparse() and yylex()

    Yacc 与 Lex 快速入门 yyparse() returns a value of 0 if the input it parses is valid according to the give ...