"Wykombinowałem" sobie nakładkę na UPX-a , ale mam dwa problemy :
1.Jak przechwycić postęp kompresji z UPX-a do nakładki ?!
2.Jak wykryć , że plik został stworzony i odczytać jego wielkość :
procedure TForm1.Button1Click(Sender: TObject);
var
char : PAnsiChar;
FileHandle: THandle;
FileSize: LongWord;
begin
if savedialog1.Execute then
char := PAnsiChar(ExtractFilePath(Application.ExeName)+'PAKER.EXE'+' -'+ComboBox1.Text+'o '+ExtractShorPathName(ExtractFilePath(SaveDialog1.FileName))+ExtractFileName(SaveDialog1.FileName)+' '+ExtractShortPathName(ExtractFilePath(FileListBox1.FileName)+ExtractFileName(FileListBox1.FileName)))
else
char := PAnsiChar(ExtracFilePath(Application.ExeName)+'PAKER.EXE'+' -'+ComboBox1.Text+' '+ExtractShortPathName(ExtractFileName(FileListBox1.FileName)));
WinExec(char,SW_normal);
if FileExists(SaveDialog1.FileName) then
begin
FileHandle := CreateFile(PChar(SaveDialog1.filename),
GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
FileSize := GetFileSize(FileHandle, nil);
label5.Caption:=' '+inttostr(filesize div 1024)+' kb';
CloseHandle(FileHandle);
end
else
label5.Caption:=inttostr(0);
end;
//kod umieszczaj w odpowiednich tagach! - m.M