Money Making Machinist Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Hi, ist es möglich, und wenn ja wie, Werte also zum Bsp. int = 5 in einer .exe zu speichen, also ich beschrieb am besten mal was ich genau meine, damit es zu keine Missverständnissen kommt. Ich möchte ein Programm schreiben, bei dem der Benutzer eine Werte eintragen kann, die .exe schließen und nachher, wenn der Benutzer die .exe wieder öffnet, soll der Wert immernoch da sein um mit ihm was zu machen. Und das ganz halt in einer .exe, keine anderen Dateien. Also ist das überhaupt möglich? Ungewöhnliche Frage, aber ich sehs ehrlich gesagt nicht ein, warum kleine Programme mehrer Dateien haben sollten. Manche Sachen müssen einfach minimalistisch sein. Zitieren
HeavyWolf Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Hi, ich kenne keine möglichkeit etwas in eine exe zu schreiben... Man bedenke das es sich um Compilierten Quellcode handelt... Das einzige was an Daten in einer exe sind, sind Ressourcen und Konstanten welche vom Quellcode verwendet werden. Du kannst dir ja mal ne Konstante anlegen und versuchen diese in der Exe wieder zufinden. Zeichenketten lassen sich wieder finden und auch nachträglich bearbeiten... aber vorsicht das geht 1. nicht immer und 2. wenn nur 1 zeichen mehr oder weniger rein geschrieben wird dann ist kaputt Ich würde dir raten diese Werte lieber in eine Datei oder in die Windows Registry zu schreiben... In die Exe ist ein großes risiko.. ausserdem könnte sich ein Virenscanner melden wenn du das tust mfg Heavywolf Zitieren
nic_power Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Hallo, das geht schon, setzt allerdings tiefere Kenntnisse der Software/Compiler voraus und ist - bei falscher Verwendung - ausgesprochen fehlerbehaftet. Ein recht verbreiteter Einsatzzweck - allerdings im Unix-Umfeld - ist das modifizieren ("patchen") von Kernelvariablen. Dazu muss man nur das Symbol kennen über welches die Variable zu erreichen ist, im Anschluss wird mit einem Debugger (beispielsweise kadb oder gdb), die Variable entsprechend modifiziert. Das sollte auch unter Windows funktionieren, allerdings kommt hier erschwerend hinzu, dass sich laufende Binaries unter Windows nur schwer modifizieren lassen. Nic PS: Mit einem Unix-Quellcode für sowas könnte ich Dir aushelfen (müsste allerdings ein bisschen suchen). Das gäbe zumindest schon einen Anhaltspunkt, wie Du eine entsprechende Funktuion realisieren kannst. Zitieren
Bubble Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Du solltest eine Konfigurationsdatei oder die Registry verwenden. Achte bei letzterem darauf, dass eine Deinstallation vollständig erfolgen kann, also auch auf Wunsch Registry-Einträge wieder entfernt werden. Eine EXE-Datei zu verändern ist möglich, sofern sie nicht grade in Verwendung ist. Für das Speichern von Konfigurationsdaten ist dieser Weg jedoch nicht empfehlenswert. Zitieren
geloescht_Newlukai Geschrieben 25. Februar 2005 Geschrieben 25. Februar 2005 Zudem gehört zum strukturierten Programmieren die Trennung von Programm, Daten und GUI. Dein Vorgehen wäre also schon fachlich falsch. Zudem kommen die Probleme, die meien Vorredner schon erläutert haben. Zitieren
Money Making Machinist Geschrieben 25. Februar 2005 Autor Geschrieben 25. Februar 2005 Naja also wies ausschaut, sollte ich lieber die Finger davon lassen. Okay, naja hamma wieda was g'lernt. PS: Mit einem Unix-Quellcode für sowas könnte ich Dir aushelfen (müsste allerdings ein bisschen suchen). Das gäbe zumindest schon einen Anhaltspunkt, wie Du eine entsprechende Funktuion realisieren kannst. Ja, also wenn Du dir die Mühe machen würdest, ich würd mich auf jedenfall freuen. Zitieren
Bubble Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 Es kann für ein einzelnes Programm nicht funktionieren: Wenn Dein Programm ausgeführt wird ist die EXE-Detei i.d.R. offen und kann nicht verändert werden. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.