Pregunta

Estoy tratando de obtener un archivo CHM a abrir con un tema específico usando C #.

He intentado usar

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

pero no encuentra la página. No debo introducir el título del tema correctamente. ¿Hay una manera que puedo recuperar programáticamente todos los temas desde un archivo CHM para que pueda ver lo que son?

¿Fue útil?

Solución

No, la función de la API HtmlHelp es demasiado primitiva para apoyar los temas que enumeran. Se podría utilizar el gestor de archivos 7-zip para mirar dentro del archivo .chm. Haga clic derecho en el archivo y elegir la opción "Abrir el interior". O utilizar la herramienta de autoría de ayuda que se utilizó.

Otros consejos

Si abre un archivo CHM, y haga clic derecho en una página de ayuda, se puede elegir el comando Propiedades.
En el medio de la página de propiedades hay una propiedad llamada:. Dirección (URL)
El final de la URL contiene la cadena tema se utiliza para abrir el archivo de ayuda a la página correcta.

Aquí es un ejemplo: MK: @MSITStore: C: \ Program% 20Files \ Sisulizer% 202010 \ Sisulizer.chm :: / OutputFiles.htm

Si la URL es demasiado largo para ver el tema al final, se puede seleccionar la dirección con el ratón y desplazarse hasta el final.

Esta es una captura de pantalla.

introducir descripción de la imagen aquí

También puede usar el siguiente, donde es path ruta al archivo CHM:

using System.Windows.Forms;

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

No estoy seguro acerca de cómo recuperar mediante programación temas de CHM. Pero he cambiado el código de una línea de esta manera y funcionó.

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top