PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleinere EXE-Dateien mit compilen und starten


Biarchiv
16.06.2002, 16:33
Hallo,

Ist es möglich kleinere EXE-Dateien mitcompilen?
[+I test.exe} glaub ich geht das und es zu starten.


Felix Kaiser
16.06.2002, 18:56
Das geht so nicht, du kannst eine Resourcendatei schreiben (.rc) und mit reinlinken. Diese Resourcendatei kann dann beliebige andere Dateien, z.B. eine exe enthalten. Die Resource kannst du temporär speichern und die Datei dann ausführen.

Biarchiv
16.06.2002, 18:59
Hallo,

Danke für die Antwort.
Okay wie geht das wenn ich die in eine Resource in eine TEMP
empacken will und ausführen? Oder auch in den Verzeichniss wo
das Proggi ist entpacken will und starten?

Wie ich das Proggi in eine Resource einbinde weiß ich.

Felix Kaiser
16.06.2002, 19:15
Prinzipiell gehts nicht schwer. Du brauchst zuerst ein Resourcehandle auf die Resource, das kannst du mit FindResource ermitteln. Danach brauchst du die Größe der Resource und anschließend muss die Resource nur noch in den Speicher geladen werden:

var
HRes: HRSRC;
RSize: integer;
ResBlock: HGLOBAL;
begin
HRes:= FindResource(HInstance,'ResName','ResType');
RSize:= SizeofResource(HInstance,HRes);
ResBlock:= LoadResource(HInstance,HRes);
end;

Einen Zeiger auf die Resourcendaten bekommt du mit Hilfe der Funktion GlobalLock. Weiteres siehe dazu in der Microsoft Win32 SDK unter dem Abschnitt 'Memory Management Functions'.