Frage

Ich versuche, eine CHM-Datei erhalten zu einem bestimmten Thema zu öffnen, C #.

Ich habe versucht mit

Help.ShowHelp(this, path, HelpNavigator.Topic, "TopicTitle");

aber es ist die Seite nicht finden. Ich muss nicht richtig im Thementitel werden Keying. Gibt es eine Möglichkeit, dass ich programmatisch alle Themen aus einer CHM-Datei abrufen kann, so dass ich sehen kann, was sie sind?

War es hilfreich?

Lösung

Nein, die Htmlhelp-API-Funktion ist viel zu primitiv Aufzählen Themen zu unterstützen. Sie können den 7-Zip-Datei-Manager in der CHM-Datei suchen verwenden. Rechtsklick auf die Datei und wählen Sie „Öffnen Inside“. Oder das Hilfe-Authoring-Tool, das verwendet wurde.

Andere Tipps

Wenn Sie eine CHM-Datei öffnen und Rechtsklick auf einer Hilfeseite, können Sie den Befehl Eigenschaften wählen.
In der Mitte der Seite Eigenschaften gibt es eine Eigenschaft namens:. Adresse (URL)
Das Ende der URL enthält das Thema Zeichenfolge verwendet, um die Hilfedatei auf die richtige Seite zu öffnen.

Hier ist ein Beispiel: mk: @MSITStore: C: \ Program% 20Files \ Sisulizer% 202.010 \ Sisulizer.chm :: / OutputFiles.htm

Wenn die URL zu lang ist das Thema am Ende zu sehen, können Sie die Adresse mit der Maus und Blättern zum Ende auswählen können.

Hier ist ein Screenshot.

eingeben Bild Beschreibung hier

Sie können auch die folgende verwenden, wo path Pfad zur CHM-Datei ist:

using System.Windows.Forms;

Help.ShowHelp(this, path, HelpNavigator.KeywordIndex, "Topic title");

Ich bin nicht sicher, wie programmatisch zu Themen aus CHM abrufen. Aber ich änderte die eine Zeile Code auf diese Weise und es hat funktioniert.

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top