Inhalt in Programm compilieren
-
Hallo,
ich plane einen CD-Starter zu entwerfen.
Dabei will ich die Konfiguration (Inhalt, ...) über ein separates Programm beschreiben und den Inhalt in den Starter eincompileren.Wie ist das machbar? Weiß evtl. jemand ein gutes Tutorial?
Beispielapplikation: www.ascomp.de DAs Programm heißt CD SpartUp
Grüße,
dragonos
-
Ich hab schon viel gehört. Aber eincompilieren? Darünter würd ich spontan verstehen, daß ein Programm zur Laufzeit nochmals teilweise compiliert wird. Sowas gibts aber noch nicht... (nicht mal bei Java... :D)
Oder meinst Du damit, daß fremde Programme innerhalb Deines Programms gestartet werden sollen?
-
Nein, schau dir doch mal das Programm an.
Du hast eine vorgefertigte .exe-Datei. Dann kannst du über ein Konfigurationstool ein Skin und den Inhalt einfügen.
Ich will wissen, wie das möglich ist, da mir selbst dazu nichts einfälltGrüße,
dragonos
-
Ach, das ist relativ einfach. Du legst einfach für den Skin oder andere Daten einen Bereich im Programm an, den Du über Headermarkierungen (zum Beispiel bestimmte Hexcodes wie A55A) am Anfang kennzeichnest.
Dein Programm liest nun diesen Bereich aus und stellt ihn dar.
Will ich das extern ändern, so öffne ich die Exe-Datei binär, suche nach den Hexcodes und weiß damit, daß ab dieser Stelle in der Exe die Daten liegen - diese überschreibe ich nun durch die neuen Einstellungen. Beim nächsten Start der Exe erscheinen die neuen Daten.
Setzt aber voraus, daß die neuen Daten natürlich vom Format her (Länge, Bedeutung) absolut identisch sind.
-
So hatte ich es bisher immer gemacht:
[Eig. Exe Datei] [zus. Daten] [Länge der zus. Daten (konstante Länge - z.B. 4 Bytes)]
So musst du im Programm die Datei öffnen, den Datei-Zeiger ans Ende der Datei minus 4 Bytes setzen die Länge auslesen und den Dateizeiger soweit nach vorn setzen wie in der Längenangabe angegeben. Man könnte auch noch sicherheitshalber hinter der Längenangabe noch etwas anhängen damit man weiß ob nun etwas dranhängt oder nicht (z.B. -ok-)