mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 14:30:47 +00:00
#428 Save as .exe
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
unit uMain;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, StdCtrls, ExtCtrls;
|
||||
|
||||
type
|
||||
TfrmMain = class(TForm)
|
||||
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
frmMain: TfrmMain;
|
||||
flaPreview: TShockwaveFlash;
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure TfrmMain.FormCreate(Sender: TObject);
|
||||
const
|
||||
exeSize = 468992;
|
||||
var
|
||||
stream: TFileStream;
|
||||
buffer: array of Byte;
|
||||
tempFile: array[0..MAX_PATH - 1] of Char;
|
||||
tempPath: array[0..MAX_PATH - 1] of Char;
|
||||
begin
|
||||
flaPreview := TShockwaveFlash.Create(frmMain);
|
||||
flaPreview.Parent := frmMain;
|
||||
flaPreview.Align := alClient;
|
||||
GetTempPath(MAX_PATH, TempPath);
|
||||
if GetTempFileName(TempPath, PAnsiChar('ffd'), 0, TempFile) = 0 then
|
||||
raise Exception.Create(
|
||||
'GetTempFileName API failed. ' + SysErrorMessage(GetLastError)
|
||||
);
|
||||
stream := TFileStream.Create(ParamStr(0), fmOpenRead);
|
||||
stream.Seek(exeSize, soBeginning);
|
||||
SetLength(buffer, stream.Size - exeSize);
|
||||
try
|
||||
stream.Read(buffer[0], Length(buffer));
|
||||
finally
|
||||
stream.Free;
|
||||
end;
|
||||
stream := TFileStream.Create(ParamStr(0), fmOpenRead);
|
||||
stream.Seek(exeSize, soBeginning);
|
||||
stream := TFileStream.Create(tempFile, fmOpenWrite);
|
||||
try
|
||||
stream.Write(buffer[0], Length(buffer));
|
||||
finally
|
||||
stream.Free;
|
||||
end;
|
||||
flaPreview.Movie := tempFile;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user