delphi制作资源文件(一)一个A.exe释放出B.exe
2016-06-25 22:45
776 查看
首先新建一个工程,作为资源文件
添加一个label1.Caption:=‘我是资源文件’
![](https://img-blog.csdn.net/20160625225328786)
然后运行工程
AAA EXEFILE Projectzy.exe 把这段文字复制到个记事本里保存为AAA.rc
注意:Projectzy.exe 就是你要做成资源的程序
![](https://img-blog.csdn.net/20160625225352771)
同理:bbb dllfile bbb.dll 写入bbb.rc
AAA为在程序里调用资源文件的名字 就是给资源文件起个名字在程序里调用
EXEFILE 为文件类型 意思是exe文件
AAA.EXE 为你要做成资源的exe文件
在写个批处理文件内容为
path=C:\Program Files (x86)\Borland\Delphi7\Bin;
Brcc32 AAA.rc
![](https://img-blog.csdn.net/20160625225412959)
第一行是你delphi的安装目录下的bin目录下的Brcc32.exe的位置 因为要用brcc32.exe编译
第二行的AAA.rc为 你刚才写的rc文件的文件名
把以上两个文件和你要做成资源文件的exe放在一个目录下 执行批处理
这时候会多出 AAA.res
![](https://img-blog.csdn.net/20160625225507007)
我们到delphi中新建个application 往上面放上一个按钮 点那个按钮的时候释放资源文件
并且运行程序 要把AAA.res 放到工程目录下 就是你这个程序保存的地方!
代码如下
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,shellapi; //shellapi引用 api函数来运行程序
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R 'AAA.RES'} //这里调用得写上你的RES文件的名字
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end; //这个方法意思是释放资源文件 有三个参数
//一个资源类型 2 资源名字 生成资源的名字
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ExtractRes('EXEFILE', 'AAA', 'AAA.exe'); //这里调用函数释放资源
showmessage('释放成功'); // 弹出个对话框 可以不写 没啥用 只是提示一下
sleep(1000); //让程序 休眠1秒
ShellExecute(0, nil, 'AAA.exe',nil, nil,sw_show); //运行程序 带的四个参数不用管他
//如果要是想隐藏运行把最后那个参数改为 SW_HIDE 就OK了
end;
end.
![](https://img-blog.csdn.net/20160625225653347?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
运行结果
![](https://img-blog.csdn.net/20160625223955745)
以上整理至网络
源码下载
添加一个label1.Caption:=‘我是资源文件’
然后运行工程
AAA EXEFILE Projectzy.exe 把这段文字复制到个记事本里保存为AAA.rc
注意:Projectzy.exe 就是你要做成资源的程序
同理:bbb dllfile bbb.dll 写入bbb.rc
AAA为在程序里调用资源文件的名字 就是给资源文件起个名字在程序里调用
EXEFILE 为文件类型 意思是exe文件
AAA.EXE 为你要做成资源的exe文件
在写个批处理文件内容为
path=C:\Program Files (x86)\Borland\Delphi7\Bin;
Brcc32 AAA.rc
第一行是你delphi的安装目录下的bin目录下的Brcc32.exe的位置 因为要用brcc32.exe编译
第二行的AAA.rc为 你刚才写的rc文件的文件名
把以上两个文件和你要做成资源文件的exe放在一个目录下 执行批处理
这时候会多出 AAA.res
我们到delphi中新建个application 往上面放上一个按钮 点那个按钮的时候释放资源文件
并且运行程序 要把AAA.res 放到工程目录下 就是你这个程序保存的地方!
代码如下
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,shellapi; //shellapi引用 api函数来运行程序
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R 'AAA.RES'} //这里调用得写上你的RES文件的名字
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end; //这个方法意思是释放资源文件 有三个参数
//一个资源类型 2 资源名字 生成资源的名字
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ExtractRes('EXEFILE', 'AAA', 'AAA.exe'); //这里调用函数释放资源
showmessage('释放成功'); // 弹出个对话框 可以不写 没啥用 只是提示一下
sleep(1000); //让程序 休眠1秒
ShellExecute(0, nil, 'AAA.exe',nil, nil,sw_show); //运行程序 带的四个参数不用管他
//如果要是想隐藏运行把最后那个参数改为 SW_HIDE 就OK了
end;
end.
运行结果
以上整理至网络
源码下载
相关文章推荐
- Delphi实现http发送xml文件片段
- Delphi实现毫秒级别的倒计时实例代码
- Delphi7中Listview的常用功能汇总
- 插件管理框架 for Delphi(一)
- delphi中一个值得大家来考虑的DLL问题
- Delphi实现检测并枚举系统安装的打印机的方法
- delphi 正弦曲线图
- Delphi下OpenGL2d绘图之画四边形的方法
- Delphi实现木马文件传输代码实例
- delphi建立、读取、存贮INI文件的方法《三》
- Delphi控件ListView的属性及使用方法详解
- delphi制作wav文件的方法
- Delphi下OpenGL2d绘图之画点的方法
- Delphi下OpenGL2d绘图之初始化流程详解
- Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法
- Delphi实现截屏存盘的方法
- Delphi实现碰撞球体完整实例代码
- delphi建立、读取、存贮INI文件的方法《二》
- Delphi解析FTP地址的方法
- Delphi实现读取系统时间与日期完整实例