www.pudn.com > fbdelphisw > MFBus_Loader.pas


unit MFBus_Loader; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
  VCLUnZip, StdCtrls, ExtCtrls; 
 
type 
  TForm1 = class(TForm) 
    VCLUnZip1: TVCLUnZip; 
    Button1: TButton; 
    Timer1: TTimer; 
    procedure FormCreate(Sender: TObject); 
    procedure FormShow(Sender: TObject); 
    procedure FormPaint(Sender: TObject); 
    procedure Button1Click(Sender: TObject); 
    procedure VCLUnZip1UnZipComplete(sender: TObject; FileCount: Integer); 
    procedure Timer1Timer(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
 
implementation 
 
{$R *.DFM} 
{$R fbus.res} 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
//  Timer1.enabled:=true; 
end; 
 
procedure TForm1.FormShow(Sender: TObject); 
begin 
//   showwindow(self.handle,SW_HIDE); 
end; 
 
procedure TForm1.FormPaint(Sender: TObject); 
begin 
  // showwindow(self.handle,SW_HIDE); 
end; 
 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  Res:TResourceStream; 
  iRes:integer; 
begin 
 
  Res:=TResourceStream.Create( hInstance,'ZIPPY',pChar('EXE')); 
  //Res.SaveToFile(ExtractFilePath(Paramstr(0))+'gjfbus16.dll'); 
  Res.SaveToFile(ExtractFilePath(Paramstr(0))+'files.zip'); 
  Res.Free; 
  sleep(1000); 
  application.processmessages; 
  VCLUnZip1.destdir:=ExtractFilePath(Paramstr(0)); 
  VCLUnZip1.Zipname:=ExtractFilePath(Paramstr(0))+'files.zip'; 
  VCLUnZip1.UnZip; 
 
 
 
end; 
 
procedure TForm1.VCLUnZip1UnZipComplete(sender: TObject; 
  FileCount: Integer); 
var 
 iRes:integer; 
begin 
  ires:=Winexec(pChar(ExtractFilePath(application.name)+'mfbusDemo.exe'),SW_NORMAL); 
  deletefile(ExtractFilePath(Paramstr(0))+'files.zip'); 
  application.Terminate; 
end; 
 
procedure TForm1.Timer1Timer(Sender: TObject); 
var 
  Res:TResourceStream; 
  iRes:integer; 
begin 
  timer1.enabled:=false; 
 
  Res:=TResourceStream.Create( hInstance,'ZIPPY',pChar('EXE')); 
  //Res.SaveToFile(ExtractFilePath(Paramstr(0))+'gjfbus16.dll'); 
  Res.SaveToFile(ExtractFilePath(Paramstr(0))+'files.zip'); 
  Res.Free; 
  sleep(1000); 
  application.processmessages; 
 
  VCLUnZip1.destdir:=ExtractFilePath(Paramstr(0)); 
  VCLUnZip1.Zipname:=ExtractFilePath(Paramstr(0))+'files.zip'; 
  VCLUnZip1.UnZip; 
// ires:=Winexec(pChar(ExtractFilePath(application.name)+'mfbusDemo.exe'),SW_NORMAL); 
 
end; 
 
end.