Domanda

Sto cercando di ottenere un file CHM per aprire ad un argomento specifico utilizzando C #.

Ho provato con

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

, ma non trova la pagina. Non devo essere digitando il titolo argomento in modo corretto. C'è un modo che io possa recuperare programatically tutti gli argomenti da un file CHM in modo che posso vedere che cosa sono?

È stato utile?

Soluzione

No, la funzione HtmlHelp API è troppo primitiva per sostenere argomenti enumerazione. È possibile utilizzare il file manager di 7-zip per guardare dentro il file CHM. Fare clic destro sul file e scegliere "Open Inside". O utilizzare lo strumento di authoring di aiuto che è stato utilizzato.

Altri suggerimenti

Se si apre un file CHM, e fare clic destro su una pagina di aiuto, è possibile scegliere il comando Proprietà.
Al centro della pagina delle proprietà v'è una proprietà chiamata:. Indirizzo (URL)
La fine della URL contiene la stringa argomento utilizzato per aprire il file di aiuto alla pagina corretta.

Ecco un esempio: mk: @MSITStore: C: \ Program% 20Files \ Sisulizer% 202010 \ Sisulizer.chm :: / OutputFiles.htm

Se l'URL è troppo lungo per vedere l'argomento alla fine, è possibile selezionare l'indirizzo con il mouse e scorrere fino alla fine.

Ecco un colpo di schermo.

entrare descrizione dell'immagine qui

È inoltre possibile utilizzare il seguente, dove è path percorso del file chm:

using System.Windows.Forms;

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

Non sono sicuro su come recuperare a livello di codice argomenti da CHM. Ma ho cambiato il codice di una riga in questo modo e ha funzionato.

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top