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/