程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi及VB res資源進exe(一般是主程序),實現調用

Delphi及VB res資源進exe(一般是主程序),實現調用

編輯:Delphi

Title:Delphi及VB res資源進主程序,實現調用

Author:InSun (Minghacker)

From:www.4safer.com

Blog:http://yxmhero1989.blog.163.com/

Delphi及VB res資源進exe(一般是主程序),實現調用 - InSun - InSuns PaRaDise

 

先說Delphi的,因為VB的操作太簡單。

資源文件(.res)
資源文件的擴展名為.res,資源文件可以將應用程序用到的資源(如聲音、圖像,exe等)包含進來,應用程序調用資源文件編譯後,可以將資源編譯到.exe 文件中。

1.建立資源文件
在此以創建一個exe的資源文件為例進行具體講解。譬如我要把Project3.exe(其實是我的4safer Scanner 3.0.exe,命名為Project3.exe而已)加入我的主程序中。
(1)新建一個文本文件,錄入代碼如下:  Project3 exefile  Project3.exe

資源類型列表:
Wave:   資源文件是聲音文件;
RCDATA:   一般二進制文件;
AVI:   AVI動畫;
ICON:   圖標文件;   
BITMAP:   位圖文件;   
CURSOR:   光標文件;
exefile: exe文件
FILE:    一般文件

Delphi及VB res資源進exe(一般是主程序),實現調用 - InSun - InSuns PaRaDise

 

(2)將文本文件保存為名字為2.rc 的RC 的文件。RC 文件是資源的源文件,編譯器編譯這些文件,生成.res 的資源文件。
(3)將2.rc 編譯生成資源文件。找到Brcc32.exe 文件所在地址,一般都在Delphi 7 安裝盤的BorlandDelphi7Bin 目錄下。

我想大家都會我的電腦右鍵屬性高級然後環境變量添加PATH吧。

Delphi及VB res資源進exe(一般是主程序),實現調用 - InSun - InSuns PaRaDise 

  在DOS 的提示符下運行Brcc32.exe 文件目錄,代碼如下:

  brcc32  2.rc

Delphi及VB res資源進exe(一般是主程序),實現調用 - InSun - InSuns PaRaDise

 

運行完畢後,在當前目錄內生成的2.res 資源文件已經將Project3.exe文件編譯成資源文件了。
//用Image Editor 軟件如同建立圖像文件一樣,可以方便地建立圖像的資源文件。

//vc裡面可以建立一個資源文件,把自己的wav文件exe文件bmp文件什麼的都統統import進去就可以了。
//然後保存成res資源文件。
//要注意的是exe文件要在"EXEFILE"裡面,引號必須要,字母大寫。

//大家可以看看陳經韬的《談Delphi編程中資源文件的應用》

//Restorator 2009用可以編寫很easy的編輯資源res,rc。很久以前小黑們做的修改灰鴿子皮膚版權之類的教程你很久以前是否也sb似的看過呢?

Delphi及VB res資源進exe(一般是主程序),實現調用 - InSun - InSuns PaRaDise


2.調用資源文件
調用資源文件的代碼如下:

  {$R *.DFM}
  {$R 2.res} //在此聲明2.res 資源文件,記得把2.res拷到主Delphi程序源碼下

譬如我最近做的一個Delphi main程序,需要調用4safer Scanner 3.0,菜單裡一個buttonclick事件,代碼如下,是釋放與調用的精髓了。

Delphi及VB res資源進exe(一般是主程序),實現調用 - InSun - InSuns PaRaDise

 

procedure TForm1.N4saferScanner301Click(Sender: TObject);
   var
       t : TResourceStream;
     begin
       try
         t := TResourceStream.Create(HInstance,Project3,exefile); //其中HInstance為一個句柄常量;Project3為資源名;exefile為資源類型
         t.SavetoFile(4safer Scanner 3.0.exe);//t.SaveToFile(c:X.exe)這裡說明了其他路徑怎麼保存
        winexec(4safer Scanner 3.0.exe,sw_Normal);
       finally
         t.free;
end;

delphi/3871.html">http://www.isstudy.com/delphi/3871.html裡面建立一個sound.rc編譯成sound.res。道理一樣。

讀取資源文件,並播放聲音。代碼如下:

  procedure TForm1.FormCreate(Sender: TObject);
var
hResInfo :THandle;
begin
hResInfo := FindResource(HInstance,’Sound’,’wav’);
hRes := LoadResource(HInstance, hResInfo);
If hRes > 32 Then
begin
PtrSound :=LockResource(hRes);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SndPlaySound(PtrSound,Snd_Async or Snd_Memory);
end;
若有人試圖這樣調用躲避殺毒軟件,那是sb的。技術一直在進步,殺軟的陰招越來越多,魔高一丈。

推薦看

將EXE注入到其它進程中運行

http://d.download.csdn.net/down/1388718/langouster

在內存中運行EXE可執行文件(Delphi7源代碼)
http://download.csdn.net/source/1020333

 

--------------淫蕩的分割線,下面將VB的,一筆帶過

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved