Include EXE (Aplikasi) Didalam Program Delph



Awal nya begini, saya ingin memasukkan suatu file exe kedalam program yang saya buat, lalu, program itu dapat di
panggil ketika saya perlukan. Nah, begitulah idenya. :)

Oke, langsung saja ke langkah - langkahnya :

Pertama
Sediakan 1 file exe yang mau di masukkan (di include kan) ke dalam aplikasi buatan kita nantinya. Misal saya ingin memasukkan aplikasisaya.exe. File aplikasisaya.exe saya taruh di E:\include.

Kedua
Buat 1 file berekstensi .rc (cukup menggunakan notepad, lalu ganti extensi nya menjadi .rc). Misal saya buat file tambahan.rc.

Ketiga
Edit isi file yang berekstensi .rc tadi menggunakan notepad atau editor lainnya yang anda sukai, lalu tambahkan baris berikut :

aplikasisaya RCDATA E:\include\aplikasisaya.exe

Keempat
Simpan file yang berekstensi .rc tadi. Maka di dalam direktori E:\include akan ada 2 file, yaitu 1 file berekstensi .rc (pada kasus saya bernama tambahan.rc) dan 1 file exe (pada kasus saya bernama aplikasisaya.exe).


Kelima
Buka Command Prompt (cmd), lalu masukkan perintah berikut ini untuk mengenerate file .res

brcc32 -32 -fo E:\include\tambahan.res E:\include\tambahan.rc

Ket :
- "E:\include\tambahan.res" adalah lokasi + nama file hasil generate nantinya
- "E:\include\tambahan.rc" adalah lokasi + nama file berekstensi .rc yang di buat sebelumnya.

Jangan lupa menekan "Enter" :)

Maka akan terbentuk 1 file berekstensi .res di dalam folder include (pada kasus saya bernama tambahan.res).

Keenam
Buat project baru pada delphi anda, lalu tambahkan satu komponen TButton.

Ketujuh
Double click pada Button1 untuk masuk ke code editor.

Kedelapan
Tambahkan 1 uses yaitu ShellAPI pada bagian uses.Dan tambahkan {$R E:\include\tambahan.res} Tepat disamping {$R *.dfm}
Note : E:\include\tambahan.res adalah lokasi file .res anda berada (pada kasus saya berada di E:\include\tambahan.res)

Kesembilan
Ganti isi procedure TForm1.Button1Click menjadi seperti dibawah ini :

procedure TForm1.Button1Click(Sender: TObject);
var
  vExeFile: string;
  RS: TResourceStream;
begin
// "aplikasisaya" adalah kata pertama yang di tulis pada file .rc
  RS := TResourceStream.Create(HInstance, 'aplikasisaya', RT_RCDATA);
  try
    // inisialisasi nama sementara file
    vExeFile := ExtractFilePath(ParamStr(0)) + 'tmp.exe';
    //extract included file ke file sementara
    RS.SaveToFile(vExeFile);
    // eksekusi file sementara
    ShellExecute(Self.Handle, 'open', PChar(vExeFile), nil, nil, SW_NORMAL)
  finally
    RS.Free;
  end;
end;

Kesepuluh
Jalankan aplikasi anda. Selesai. :)

Komentar

Postingan populer dari blog ini

Install Packages dan extRoot 3020

menghitung daya watt amplifier dengan sopware