Daten in eigenes Programm schreiben

ComFreek

Mod | @comfreek
Moderator
Guten Abend,

ich habe mal wieder ein Problem (eigentlich keins, aber eine Frage).
Ich habe schon viele Programme erlebt, die Daten in das eigene Programm schreiben. Sprich keine Dateien oder Registry verwenden.

Wie kann man das in C++ anstellen?

Bedanke mich für jede Antwort!!

PS: Habe schon gegoogelt. Aber nix verwertbares.
 
Obwohl es technisch möglich ist, direkt in die Programmdatei (exe) zu schreiben, kann ich mir nicht vorstellen, dass das wirklich jemand macht.

In der Regel werden ehe ini-Dateien (oder andere) im Programmverzeichnis verwendet, wenn man nicht auf die Registry zugreifen möchte.
 
Hi,

kann mir vop nur anschließen, denn:

Wenn man wirklich daten in die eigene DLL nachträglich reinschreibt, müssen auch die Checksums wieder angepasst werden. Ansonsten ist die exe "beschädigt".

Auch bekommt man Probleme wenn man die exe überhaupt öffnen will. Ich glaube nicht das man die exe Speichern kann solange sie ausgeführt wird.

Aber das kanste ja mal mit nem Text-Editor ausprobieren.

Gruß
Anfänger
 
Danke für eure Antworten.

Ich weiß eine Änderung und das Programm ist "kaputt".

Vielleicht speichern diese Programme die INI-Dateien irgendwo "versteckt".
Mein Beispiel war das einfache Spiel "BoxWorld". Man fängt bei jedem Start beim letzten Level an.

Ich glaube nicht das man die exe Speichern kann solange sie ausgeführt wird.

Das dachte ich mir auch schon.

Und im Windows-Ordner (Habe Vista Home Premium) habe ich schon gesucht.
Vielleicht ist es unter AppData oder ProgramData?
 
Solange das ganze NTFS ist, könntest du ja ADS verwenden.
Nachteil ist halt, das es beim verschieben auf FAT32 etc weg ist...und bin mir mir nicht sicher, ob Vista genau so gut wie XP damit zurechtkommt.

edit: Ups, verschrieben, mein ADS :)
 
Zuletzt bearbeitet:
Moin,

was genau möchtest Du denn speichern :confused:
Sollen Anwendungsdaten persistent gesichert werden, um sie nach dem nächsten Programm zu Verfügung zu haben - verstehe ich Dich richtig ? ? ?

Dann kommt es doch wohl allenfalls auf die Art der Daten an, ob eine .ini, .cfg, .txt oder sonstwie-Datei ist oder halt eben eine kleinere oder größere Datenbank :p

Warum solltest Du sie in die .exe oder .dll schreiben wollen :confused:

Gruß
Klaus
 
Solange das ganze NTFS ist, könntest du ja ADS verwenden.

Falls ich mal was veröffentlichen will, ist das keine so gute Idee. Trotzdem Danke.

was genau möchtest Du denn speichern :confused:

Also erstmal vielleicht den aktuellen Level eines Spieles. Also eine normales unsigned short int würde ausreichen.

Mich hat halt interessiert, wie so einige Programme das machen und möchte es gerne "lernen". Vielleicht in einem Tutorial oder irgendein Link.

EDIT: Das Programm BoxWorld (oben genannt) speichert die Einstellungen in eine .ini-Datei. Aber kennt jemand eine hilfreiche Website über das Verändern der Checksums und Co.?

Vielleicht habe ich mich ja immer geirrt und die Programme haben irgendwo ihre ini-Dateien gelassen....
 
Zuletzt bearbeitet:
Also erstmal vielleicht den aktuellen Level eines Spieles. Also eine normale unsigned short int würde ausreichen.

Mich hat halt interessiert, wie so einige Programme das machen und möchte es gerne "lernen". Vielleicht in einem Tutorial oder irgendein Link.

Moin,

kann, wie gesagt, nicht so pauschal beantworten, da es von der Art der Daten abhängt!
Größere Datenmengen prinzipiell in eine Datenbank, kleinere in die hier bereits mehrfach erwähnten .ini- oder .cfg-Dateien, was in Deinem Fall bei nur einen Integer sicher das erstmal das gegeben ist ! ;)

Das Stichwort für :google:, das Du suchst, heißt wie gesagt "persistente Datenhaltung" :p

Und, wie gesagt, tunlichst nie in die eigene .exe schrieben ....

Gruß
Klaus
 
Zurück