Bedienungsanleitung einfügen
-
Such mal nach ShellExecute()...
-
@Th.
Herrlich.. IExplorer wird jetzt gestartet. Soweit super.
Aber wie und wo gebe ich jetzt meine Ressource als Parameter an?
Meine Zeile sieht jetzt grad so aus:ShellExecute(NULL, "open", "c:\\Programme\\Internet Explorer\\iexplore.exe", NULL, NULL, SW_SHOWNORMAL);und meine Ressource ist IDR_HTML_Bedienungsanleitung.
Bitte nochmal helfen! Hab grad nicht so die Zeit zum probieren und recherchieren.
Danke!PS: Möchte gerne die Bedienungsanleitung in dem Programm haben, damit diese immer mit dem Programm kopiert wird und nicht zwei Dateien (*.exe und Bedienungsanleitung) kopiert werden müssen.
-
Und versuche das res Protokoll zi verstehen:
Overview
Valid res:// protocol URLs have the form:res://module[/restype]/resid
where the segments of the URL have the following meanings:
module – The name of the module (DLL or executable program) containing the resource. The full path to the module is required, unless it is on the search path.
restype – An optional segment that specifies the resource type identifier. If the segment is omitted the resource type is assumed to be RT_HTML.
resid – The resource name identifier.Wenn man also die html Datei in der EXE als Resource ablegt kann man mit ShellExecute und dem entsprechenden Pfad (gemäß res-Protokoll), diese HTML Datei anzeigen.
-
Sorry. Ich kapiere es einfach nicht.
Also wenn ich das richtig verstehe soll meine Zeile in etwa so aussehenShellExecute(NULL, "open", "res://module[/restype]/resid ", NULL, NULL, SW_SHOWNORMAL);Das heißt module ist doch meine von mir erstellte exe Datei (in meinem Fall DM200.exe).
Muss dazu der genaue Ort der Datei bekannt sein?
Wenn ja, hab ich nächstes Problem, dass das eigentlich von jedem Speicherort
der Exe-Datei aus funktionieren soll und ich erst den Pfad bestimmen müsste.restype brauche ich nicht. Ich hab ja html format. oder?
resid ist bei mir dann wohl /IDR_HTML_Bedienungsanleitung!?
Unterm Strich: Ich hänge an dem module Eintrag *heul*
Bitte nochmal helfen!
-
Das Modul ist Deine Exe. Der genaue Ort muss/sollte angegeben werden. Du kannst ShellExceute IMHO auch einen Working FOlder mitgeben. Evtl. geht das.
Der Resource Typ ist anzugeben. Es ist die ID (Text) unter dem die Ressource abeglegt wurde.
-
Muhaha.... wenns mal wieder schnell gehen soll....
also meine Exe-Datei liegt auf c:\ und heißt DM200.exe.
Ich hab jetzt zwei varianten probiert.Von dieser hätte ich erwartet, dass es geht:
ShellExecute(NULL, "open", "res://c:\DM200.exe/IDR_HTML_Bedienungsanleitung", NULL, NULL, SW_SHOWNORMAL);aber geht natürlich nicht.
Das hier habe ich auch noch probiert
ShellExecute(NULL, "open", "res://DM200.exe/IDR_HTML_Bedienungsanleitung", NULL, "c:\\", SW_SHOWNORMAL);Wo ist der Fehler?
Muss in den Eigenschaften für die IDR_HTML_Bedienungsanleitung Externe Datei auf True oder False sein? War die ganze Zeit auf True. Mit False gehts aber auch nicht.Explorer öffnet sich.. aber "Die Seite kann nicht angezeigt werden"
Der IExplorer versucht diese Adresse zu öffnen:
res://c:\DM200.exe/IDR_HTML_Bedienungsanleitung
Wo könnte noch der Fehler sein?
-
1. Der Ressourcen Typ fehlt. Wie ist es denn abgelegt.
2. Die ID ist eine Nummer. Der symbolische Name ist nach dem compilieren nicht mehr vorhanden.
-
zu 1) Das ursprüngliche Word Dokument hab ich als Webseite (.htm) gespeichert.
Dann hab ich es in der Ressourcenansicht in den Ordner HTML eingefügt
und im Projektmappen-Explorer in den Ordner Ressourcendateien eingefügt.
Ist das nicht richtig?zu 2) Wo finde ich die ID?
-
Mackie1980 schrieb:
zu 2) Wo finde ich die ID?
In der Resource.h
-
Uff.... schwere Geburt.
Aber jetzt hat es geklappt.
Vielen vielen Dank.Gruß Markus
-
Also das mit dem Text hat jetzt prima geklappt.
ABER:Jetzt sind eigentlich noch Bilder in der Anleitung.
Aber die werden nicht dargestellt.
Nur die Platzhalter dafür.
Warum funktioniert das nicht und was muss man ändern?
-
Ich würde das alles als PDF einbinden und in den Tempordner entpacken.
Dann von dort, wenn erfolgreich geschrieben, mit ShellExecute laden.War das Schreiben der Datei dort nicht erfolgreich, dann im Verzeichnis
der EXE nochmal versuchen.
-
Danke für den Tipp.
War auch meine erste Idee.
ABER: In diesem Anwendungsfall kann ich nicht davon ausgehen,
dass auf jedem PC-System ein Reader installiert ist und die
Systeme arbeiten auch meist autark.
IExplorer ist ja seit Win98 überall dabei.
Daher noch ne andere Idee?
-
Auch Bilder lassen sich entsprechend darstellen. Die müssen dann eben als BMP unter dem entsprechenden Res Typ Pfad 2 abgelegt werden.
Sieh Dir doch mal das Beispiel an:
http://www.codeproject.com/tips/res.asp
-
nur so nebenbei, du solltest nicht davon ausgehen das es ueberall auf "C:\Programme" liegt
1. Was ist mit Englischen systemen "C:\Program Files"
2. Was ist wenn windows nicht auf C: liegt "J:\Programme"
arbeite am besten mit den system variablen
-
Im dem Fall, dass man das eigene Programmverzeichnis benutzen will sollte man immer GetModuleFilename verwenden...