Werte in ein fertiges Programm Speichern



  • lol, schreien ist echt gut, aber F98, vielleicht deswegen:

    Mach mal nen Programm mit SaveDialog und OpenDialog. Wenn du hiermit einen anderen Ordner öffnest, und dann vielleicht aber auf eine INI-Datei zugreifen willst, die im Ordner der Datei lieg, dann muss man schon einen String haben, der das Verzeichnis der Anwendung enthält.

    Sonst sag du mir, wie man das sonst lösen soll, gibts da ne Funktion die dir das Verzeichnis der Datei gibt?



  • a) Dein Listing in der Signatur ist falsch
    b) Es gibt diverse Extract* - Funktionen welche aus einem String alle möglichen Pfadangaben zurückliefert
    c) TApplication::ExeName sowie ParamStr(0) enthalten die komplette Pfadangabe der Exe
    d) Hat das obige aber alles nix mit dem Thread zu tun

    So nun zum problem: Theoretisch müsstest du normal mit TFileStream oder ähnlichem auf die Exe zugreifen können. Wenn du die Daten einfach ans Ende der Exe anhängst, dann tut das der Exe nix. Ein system wäre z.B, dass du definiert die letzten 4 Bytes als Längenangabe für die Anzahl Bytes die an die Exe angehängt sind benutzt.

    -junix



  • Du kannst die .exe nicht zur Laufzeit ändern, Dir wird also nichts anderes übrig bleiben als eine weitere Datei zur verwenden.



  • @junix

    Das BS hat doch aber die Hände auf der Exe. Kann man da einfach so reinschreiben?



  • @Knuddlbaer: Ich könnte schwören es geht, Netbus z.B. macht das auch... hmmm Vielleicht brauchts dazu spezielle API... Schau auch mal im WinAPI-Forum vorbei .. und vielleicht noch hier:
    Exe, die sich selbst manipuliert

    -junix



  • nein ich wollte ein LOGON Programm schreiben was sich automatisch den Username des benutzers holt und dann sein Laufwerk mappt, alles kein Problehm aber ich möchte die einstellungen wareieren, also möchte ich ein Programm schreiben wo ich die einstellungen das Programmes immer umändern kann, aber das Programm darf nur aus einer Datei bestehen.



  • Ja, Junix sowas in der art habe ich gedacht, aber ich glaub ich lös das Problehm jetzt anders, am bestem mit Parameter die ich an die Datei übergebe,
    leider habe ich davon auch keine ahnung wie ich das mache, gibts da irgentwas fertiges inner VCL?



  • TIniFile eventuell?

    -junix



  • @Knuddlbaer SuperLOL

    Du kannst eine fertige exe nicht verändern???
    Kannst ganz einfach drauf zugreifen. Ein ifstream objekt mit ios::binary öffnen
    und schon kannste ganz einfach drauf zu greifen! Ist halt einfach nur binär.
    Also kodier einfach mal nen STring in Bin und dann suche mal nach diesem Code in der exe.
    Würde das einfach mal mit nen HelloWorld machen!



  • Original erstellt von <SlashXP>:
    @Knuddlbaer SuperLOL
    [...]

    Was ist denn das bitte für ein Sinnfreier Beitrag? Was willst du an einem String nach binär kodieren? Und gelesen hast du wohl auch nicht? da steht ausdrücklich, dass es wegen der Zugriffsrechte nicht gehen soll... (kann das grad nicht testen, aber mir war mit den guten alten C-Funktionen ging das wunderbar)

    -junix


Anmelden zum Antworten