Question

Je suis en train d'obtenir un fichier CHM pour ouvrir à un sujet spécifique en utilisant C #.

Je l'ai essayé d'utiliser

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

mais il ne trouve pas la page. Je ne dois pas être dans le titre Keying sujet correctement. Est d'un fichier CHM-il un moyen que je peux récupérer programatically tous les sujets afin que je puisse voir ce qu'ils sont?

Était-ce utile?

La solution

Non, la fonction API HtmlHelp est beaucoup trop primitive pour soutenir les sujets qui énumèrent. Vous pouvez utiliser le gestionnaire de fichiers 7-zip regarder à l'intérieur du fichier CHM. Cliquez-droit sur le fichier et choisissez « Inside Open ». Ou utilisez l'outil de création d'aide qui a été utilisé.

Autres conseils

Si vous ouvrez un fichier CHM, et faites un clic droit sur une page d'aide, vous pouvez choisir la commande Propriétés.
Au milieu de la page Propriétés il y a une propriété appelée:. Adresse (URL)
La fin de l'URL contient la chaîne de sujet utilisé pour ouvrir le fichier d'aide à la bonne page.

Voici un exemple: mk: @MSITStore: C: \ Program% 20files \ Sisulizer% 202010 \ Sisulizer.chm :: / OutputFiles.htm

Si l'URL est trop longue pour voir le sujet à la fin, vous pouvez sélectionner l'adresse avec votre souris et faites défiler jusqu'à la fin.

Voici une capture d'écran.

entrer image description ici

Vous pouvez également utiliser ce qui suit, où path est le chemin vers le fichier CHM:

using System.Windows.Forms;

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

Je ne suis pas sûr de savoir comment récupérer les sujets de programme CHM. Mais j'ai changé le code d'une ligne de cette façon et ça a marché.

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top