Ergebnis 1 bis 8 von 8
  1. #1
    Trojaner
    Registriert seit
    17.07.2008
    Beiträge
    98

    Idee Dll von Programm erstellen lassen

    Folgendes Problem:
    Ich habe ein Programm (in VC++ 2008 geschrieben), bei dem ich jetzt dem Nutzer noch die Möglichkeit geben will, das Programm zu "personalisieren", in dem er z.B. das Hintergrundbild ändern kann, etc. Das wollte ich realisieren, in dem ich ein "Styler"-Programm mitliefere, das eine dll erstellen kann, aus der dann das Programm dann die entsprechenden Hintergundbilder etc. auslesen kann.
    Damit die Nutzer ihre Styles mit anderen Nutzern teilen können, sollen nicht nur die Pfade zu den Dateien gespeichert werden, sondern Bilder selbst (das die dll's dadurch sehr groß werden können, ist mir natürlich dabei bewusst). Außerdem soll noch eine Funktion integriert sein, die dann den neuen Style anwendet.
    Wie ist so etwas realisierbar?

  2. #2
    Trojaner
    Registriert seit
    02.08.2007
    Beiträge
    65

    Standard

    Hmmm...warum willst du unbedingt dafür eine DLL benutzten?

  3. #3
    Capt'n Crunch Avatar von hackerking
    Registriert seit
    08.11.2008
    Beiträge
    964

    Standard

    er kann die datei doch auch "Daten.aeoigneahpoiungeaoiesoipngoinygor" nennen scheiß egal xD wenn er sie mit dem programm reinschreibt^^

  4. #4
    Trojaner
    Registriert seit
    17.07.2008
    Beiträge
    98

    Standard

    Zitat Zitat von Ribas Beitrag anzeigen
    Hmmm...warum willst du unbedingt dafür eine DLL benutzten?
    Gegenfrage: Was denn sonst? Ich kenne keinen anderen Dateitypen, in dem sich eine Funktion sowie Dateien speichern lassen...

  5. #5
    W32.FunLove
    Registriert seit
    01.08.2008
    Beiträge
    134

    Standard

    Du kannst sowas auch mit einer einfachen Textdatei lösen. Dort werden dann Variablen gespeichert, wie zB. den Pfad zu einem Hintergrundbild oder irgendeine Farbe.
    Das Einbinden von fremden DLL's kannst du dir damit auch gleich erparen.

  6. #6
    is a Grammar Nazi Avatar von Hamtaro
    Registriert seit
    05.06.2007
    Beiträge
    431

    Standard

    könntest du nicht einfach die Bilder alle in einem Unterordner speichern( "images" zum Beispiel), aus der die Bilder dann einfach ausgelesen werden?
    Und die Farben kannst du bestimmt auch in einer .ini Datei speichern.
    Sonst kannst du halt die Bilder per Ressource in deine Dll eingliedern.
    Sunshine, hurricane
    All the highs & lows

  7. #7
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zitat Zitat von ShockerZz Beitrag anzeigen
    Gegenfrage: Was denn sonst? Ich kenne keinen anderen Dateitypen, in dem sich eine Funktion sowie Dateien speichern lassen...
    Gegengegenfrage: Und was sind Dateitypen?

    Wenn es dir also darum geht Bilder zu speichern, kannst du das auch in einer Textdatei machen.
    Für Funktionen gillt das natürlich auch...
    Du kannst jederzeit den Binärcode einer Funktion in eine Datei speichern und wieder laden.
    Nach dem Laden einfach über VirtualAllocEx ( http://msdn.microsoft.com/en-us/libr...90(VS.85).aspx ) mit PAGE_EXECUTE_READWRITE ( http://msdn.microsoft.com/en-us/libr...86(VS.85).aspx ) Speicher reservieren, den Funktionscode mit WriteMemory ( http://msdn.microsoft.com/en-us/library/ms926296.aspx ) an seine Position bringen und über einen Funktionszeiger aufrufen.
    _________________________________________

    Wenn du das aber immernoch mit einer .DLL machen willst, dann lautet die Antwort zu deinem "Bilderproblem" Resourcen (-> Google).
    Dein "Funktionsproblem" wird sich dabei aber als schwieriger erweisen, da es für das Schreiben von Funktionen in eine .DLL keine WinAPI Funktionen gibt (oder doch? - mir sind keine bekannt).
    Auf jeden Fall würde das eine genaue Kenntniss des PE-Dateiformats erfordern.
    Weiterhin, um eine Funktion zum Austauchen der Skins jedes mal individuell zu erstellen brauchst du gute Kenntnisse der Maschienensprache (das gillt auch für die weiter oben aufgeführte Methode).

    Ein Umweg wäre, eine Funktion, zum Skinaustausch, in deinem Programm selbst zu implementieren und deine "Skindatei" Parameter übergeben zu lassen.
    Diese Parameter könnten dann zB. auch als Resourcen in deiner .DLL gespeichert werden.


    mfG. BlackBerry

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  8. #8
    Michelangelo Virus
    Registriert seit
    14.06.2007
    Beiträge
    282

    Standard

    Im Prinzip ist es ganz einfach. Du erstellst deinen Styler und das Grundgerüst der DLL. Der Styler schreibt anschließend mittels BeginUpdateResource und co. (siehe MSDN) die gewünschten Daten (Bilder, Strings[evtl Farben]) in die DLL. Anschließend das ganze vom gewünschten Programm auslesen lassen und fertig.

    Falls das der Weg ist, den du meintest. Bin ich gern bereit eine genauere Anleitung zu geben.

    Grüße

    Edit: BlackBerry war schneller
    Geändert von zao (25.01.2009 um 13:08 Uhr)
    Write the code correctly and it will compile

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •