HTML in Projekt einbinden



  • Hallo,

    ich würde gerne eine HTML-Datei in mein C#-Projekt einbinden, sodass diese später in der EXE integriert ist. Die HTML-Datei wird vom Programm geöffnet und zeigt Text an.

    Nur bin ich gerade irgendwie zu blö* die HTML in mein Projekt einzubinden?!
    Ich habe die HTML-Datei als Ressource (eingebettet) hinzugefügt, doch kann ich sie nicht aufrufen, es heisst immer dass das System die Datei nicht finden kann.

    Process.Start(@"help.html");
    

    Mit einer TXT-Datei klappt das wunderbar.



  • OK hat sich erledigt. Stand da tatsächlich noch in den Buildeigenschaften der HTML-Datei "Keine" statt "Eingebettete Ressource" drin. Jetzt gehts.



  • Jetzt doch wieder... Eingebettet ist die HTML-Datei nun doch nicht 😞 Ich dachte die wird in die EXE integriert, sobald ich sie aber aus dem bisherigen Pfad nehme, wird sie nicht mehr gefunden.



  • Vielleicht verstehe ich dich ja auch falsch, aber wie soll denn eine HTML-Datei in eine *.exe integriert werden?



  • Als Ressource.
    Ich möchte am Ende neben der EXE- nicht noch eine HTML-Datei mitliefern, ich möchte dass sie wie beispielsweise eine ICO-Datei (für Icons) in die EXE-Datei integriert wird.

    Die EXE wird eine Funktion bieten, bei der ich eine Hilfe-Datei im Browser öffnen kann, und das ist die HMTL-Datei.



  • Servus,

    so wie du dir das vorstellst, wirds leider nicht klappen.

    Du hast jetzt u.a. 2 Möglichkeiten:
    - Du schreibst die Embedded HTML temporär auf Platte und öffnest sie dann
    oder
    - Du nimmst ein eigenes WebBrowser Control und zeigst diese dort an
    * Das geht z.B. mit dem Res Protocol "res://C:\Programm\DeineExe.exe/test.html"
    oder
    * Du lädst diese über die aktuelle Assembly "Assembly.GetExecutingAssembly().GetManifestResourceStream("DeineExe.Resources.test.html")" und übergibst den Stream dem WebDoc
    oder
    * Du fügst diese als "Binary" Datei in den Resources ein. Dann erhälst du mit "Resources.test" einen byte[] den du in einen MemoryStream packen kannst und ihn an das WebDoc übergibst

    Mehr fällt mir spontan nicht ein...

    gruß
    Hellsgore



  • Du schreibst die Embedded HTML temporär auf Platte und öffnest sie dann

    So werde ich das machen, es ist die praktikabelste Lösung...

    Dankeschön für die Informationen...


Anmelden zum Antworten