Bilder aus einer Klassenbibliothek (*.dll) auslesen

  • (Um diesen Code zu nutzen müsst ihr Framework 4 installiert haben! Link: Framework 4


    Erst erstellt ihr eine Klassenbibliothek und fügt ein "Resource.resx" Datei hinzu.
    Nun fügt ihr die Bilder die Ihr in eurer (z.B.) "Bilder.dll" Datei haben wollt hinzu. (In der "Resource.resx")
    Erstellt eine "Class.cs" Datei und benennt sie z.B. "meineBilder.cs"


    Kurze Bildbeschreibung:


    Wenn ihr das alles gemacht habt, kommen wir zum Code in der "meineBilder.cs":





    Fügt zunächst unter Verweise eure "Bilder.dll" hinzu, damit eure Exe Datei das Bild auch auslesen kann.
    Und nun zum Code den Ihr in eurer Exe Datei haben müsst, um das Ganze auzulesen:




    Ich hoffe ich konnte manchen von euch helfen ;)


    Ps.: Wer noch wissen will wie man "Usercontrols.cs" Dateien aus einer *.dll Datei auslesen kann, kann mir eine PN schreiben ;)


    M.F.G. JackV+Z :thumbsup:

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

    Dieser Beitrag wurde bereits 5 Mal editiert, zuletzt von JackV+Z ()

  • Hi,


    Ist wirklich schön zu sehen dass du dich für die Community einsetzen willst.
    Aber ich finde wenn du schon Coding Snippets postest, dann sollten sie einerseits einen Sinn haben und andererseits auch lauffähig sein.
    Am besten überarbeitest du das Ganze nochmals. ;)


    Gruss

  • Also bei mir funktioniert das alles prima ;)
    Hab bissel verbessert und ne Bildbeschreibung eingefügt ;)
    Wenns so bei euch nicht klappen sollte schickt mir kurzen PN mit ner Beschreibung was nicht funktioniert!


    Ps.: Der sinn für mich ist einfach, dass man sein Programm überschaubar programmieren kann, also das nicht die Startdatei (*.exe) 100te von MB nacher groß ist,
    nur weil so viele Bilder nötig sind ;) und das die Bilder sicher sind vor Leuten die im Programm die Designs ändern wollen (also wenn man einen Dateiordner mit den Bilder hat und alle darauf zugreifen können ;) )
    Also im großen und ganzen ist das eigentlich nur dafür, dass Bilder besser und übersichtlicher gespeichert werden können ;)


    M.F.G. JackV+Z

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

  • Ob du die Bilder nun in einer eigenen Klassenbibliothek als Ressource abspeicherst, oder direkt im Hauptprogramm macht keinen Unterschied.
    Wenn du bei grösseren Projekten alle Ressourcen so stark auslagerst, verlierst du die Übersichtlichkeit. Für solche Dinge sind Ordner zu verwenden.


    Und ja - ich habs jetzt nicht getestet, aber mittlerweile könnte es funktionieren.
    Vorhin hattest du beim oberen Snippet keine Klasse drin, deswegen ging es nicht. ;)


    Gruss

  • Also für mich ist das nützlich, da ich es für mich so übersichtlicher mache ;) aber jedem das seine ;) manchen hilft es vielleicht ;)

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von JackV+Z ()

  • Also wenn man die Bilder umbedingt als Ressource auslagern will, dann machts schon Sinn, diese in ne eigene Bibliothek zu stecken. Beim Update muss dann nur die Haupt-exe ausgetauscht werden, die dann ja deutlich kleiner ist.


    Aber in einer Dll kann man die Ressourcen auch einfach austauschen, deshalb macht das Argument keinen Sinn ;).

  • Also ich habe meine *.dll Dateien mit Resource Hacker von www.angusj.com getestet und kann dort meine Bilder weder sehen noch austauschen ;)
    Also wie ich das sehe kann man die Bilder doch nicht so leicht austauschen ;) , oder hast du da eine Idee wie man sie noch austauschen könnte, wenn sie dort schon nicht angezeigt werden?


    Wäre nett wenn ich ein Beispiel, wie man die Resourcen austauschen kann bekommen würde dongdong ;)


    Ich kann dir ja mal eine meine *.dll Dateien hier hochladen ;)


    Ps.: vpg.zip enthält eine *.dll Datei die nur ein Bild enthält ;) Ist ne *.dll wie ich sie immer mache ;)

    Dateien

    • vpg.zip

      (67,54 kB, 1 Mal heruntergeladen, zuletzt: )

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

  • Ich bin jetzt zu faul das alles nachzumachen, aber so geht das ;)
    http://fortheloveofcode.wordpr…esources-inside-assembly/
    Wenn ich meine Bilder alle "sicher" in einer Datei zusammenpacken wollte, würde ich mir ein kleines Datenbankformat, was mit verschlüsselung arbeitet, überlegen und dann alle Bilder da reinpacken.

  • Ok danke ;)
    Ich werde mir dann mal was neues ausdenken um meine Haupt-exe kleiner zu machen und gleichzeitig die Dateien sicher in einer anderen Datei zu speichern ;)


    Meinst du mit kleines Datenbankformat ausdenken, dass ich mir ein komplett eigenes Format ausdenken soll wo die Dateien verschlüsselt verpackt sind und nur ich sie mit der richtigen Entschlüsslung abrufen kann ? Oder wie meinst du das genau ;)


    Wäre dankbar über eine kurze Antwort dazu ;)

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

  • Ja so in etwa, muss ja nichts kompliziertes sein. Z.b. steht am Anfang ein Byte oder Word, was angibt wie viele Bilder in der Datei sind. Dann kommen die Bilder vor jedem Bild steht der Name des Bildes und die Größe der nachfolgenden Daten und dann natürlich die Daten (also das Bild selbst). Dann kannst du die fertige Datei noch mit i-einem Algorithmus crypten und um die Datei möglichst klein zu machen auch noch einmal mit einem Zip Algo oder was vergleichbarem drüberlaufen.

  • Hört sich nach Arbeit und ein Herausvorderung für mich an ;) Danke für den Tipp ;)


    Ich werde das dann erstmal alles per XML strukturieren und dann Verschlüsseln ;)

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

  • Ist mir schon klar ;) aber danke für den Hinweiß ;)
    Sagen wirs mal so, ich hab auch null Arnung wie man einen eigenen Algorithmus erstellt :x hab den ganzen Tag schon gegoogelt und nichts gescheites gefunden :o


    Wäre nett, wenn mir vielleicht jemand einen Link oder ein Tut schicken könnte wie ein Algorithmus kurz und knapp aussieht, damit ich mir das ansehen und auch verstehen kann ^-^


    Danke im voraus ;) !

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

  • Einen eigene... Also einen selbst ausgedachten um meine Dateien vor Fremdeinwirkungen zu schützen ;)


    Gibts für sowas einen Tut wo man lernen kann mit C# einen eigenen Algo zu coden ??? Weil dongdong sowas ansprach, dass ich meine Daten mit einem "Algorithmus crypten" soll und ich hab von sowas erlich null Arnung und würde unheimlich gerne lernen wie man einen eigenen Algo coden kann, weil ich gelesen habe, dass Algos auch für Serials und so benutzt werden und mich sowas sehr interesiert!!! Da ich meine Programme auch gerade später per Serial schützen möchte ;) aber keine Arnung davon habe :/


    Würde mich unheimlich gerne weiterbilden ! *-*


    Ich bin für jeden Rat dankbar und würde mich sehr über einen Link oder ein Tutorial freuen :)


    M.F.G. JackV+Z

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

  • Die ganze Aktion hier macht mehr Aufwand, als sie Nutzen hat. Kein Mensch will an deine Bilder und sogar wenn er sie bei sich in seiner eigenen Kopie austauscht, dann ist das sein Problem. Geschützt müssen lediglich wichtige und sensible Daten, z. B. bei einem Datenaustausch oder der Persistenz. Bilder haben dieses Privileg allerdings in der Regel nicht. Und ein Beispiel, wie du das machen könntest, hat dongdong auch gepostet und das sogar ziemlich ausführlich.


    Und nen eigenen Algorithmus zu schreiben heißt einfach, dass du dir irgendwas ausdenkst, völlig egal was. Falls das nocht nicht klar ist. Algorithmen sind keine Verschlüsselungen oder sowas. Sie beschreiben lediglich eine Abfolge von Schritten, um irgendwas zu lösen. Was dieser Algorithmus macht, ist dem Erfinder überlassen, egal ob Verschlüsselung, Komprimierung, Berechnung, Suche, Sortierung oder sonst was, er macht einfach irgendwas.


    Für deine Serial-Key-Sache heißt das, dass du dir irgendwas ausdenken müssen wirst, wie du so einen Key generieren kannst. Das kann eine stupide Verschiebung der Zeichen sein, Berechnung von Hashes und die Entnahme von Substrings an bestimmten Positionen, Binäroperationen, mathematische Berechnungen, etc., eben irgendwas. Hier mal ein Beispiel: http://www.codeproject.com/Que…-in-Windows-application-u
    Einen Alogrithmus zu erstellen ist keine Kunst. Die Kunst ist, ihn möglichst effizient und in den meisten Fällen auch nicht nachvollziehbar zu machen. Aus den generierten Ergebnissen soll nicht so einfach auf den Algorithmus geschlossen werden können, es sollte kein System erkennbar sein. Ansonsten geht es einfach nur darum ein Problem auf eine bestimmte Weise zu lösen. Es gibt jede Menge offene Algorithmen, die man sich anschauen kann und vielleicht so Ideen für einen eigenen bekommt, einfach mal Dr. Google fragen.

  • Achso :) danke für deine Antwort :) ich möchte ja nicht nur Bilder verschlüsseln und vor Fremdeinwirkung schützen ;) Sondern auch Daten die ich z.B. in meinem Programm per Interprozesskommunikation Lokal an die erste offene Instanz übergebe ;)


    Und danke für den Link ich werde mich gleich mal alles durchlesen und auch weiter googlen :) jetzt weiß ich aufjedenfall was mit einem Algorithmus gemeint ist und hab schon grobe Ideen selbst einen zu machen :)


    Danke nochmals :)


    M.F.G. JackV+Z

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!

  • Algorithmus ist nur ein Wort für ein bestimmtes Verfahren mit Daten um zu gehen und ist keine eigene Disziplin im bereich Programmierung.


    Dabei kann ein Algorithmus auch schon sein wenn du zB jedes 2. byte in einer Datei vertauschst.


    Sei einfach kreativ denn, so lange niemand deinen Code kennt, ist eine eigene und möglichst individuelle Verschlüsselung sicher.


    Du musst aber nicht unbedingt einen eigenen Algorithmus zur Ver- und Entschlüsselung entwickeln, da es auch Verfahren gibt die eine mathematische Sicherheit bieten zB. AES oder RSA .

  • Dank dir ;)


    Ich hab auch schon gemerkt, dass ein Algo nur eine Folge von Befehlen ist :)


    Ich hab jetzt ne kleine einfache eigene Verschlüsslung gemacht ;) war sehr hilfreich :)


    Danke nochmal an alle, die mir geholfen haben!!! :thumbsup:


    M.F.G. JackV+Z

    Leb dein Leben solange es schön ist und lass dir in deine Entscheidungen und Ideen nicht rein reden ;) , denn es ist dein Leben ;)!