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 übergibstMehr 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...