delphi制作资源文件和释放资源文件的方法
首先先制作资源文件如何制作呢?
AAA EXEFILE AAA.exe 把这段文字复制到个记事本里保存为AAA.rc
同理:bbb dllfile bbb.dll 写入bbb.rc
AAA为在程序里调用资源文件的名字 就是给资源文件起个名字在程序里调用
EXEFILE 为文件类型 意思是exe文件
AAA.EXE 为你要做成资源的exe文件
在写个批处理文件内容为
path=C:\Program Files\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.
转:http://blog.163.com/t_form/blog/static/123485232200971105014266/