2010-02-16 14 views
7

Estoy tratando de abrir un archivo CHM para un tema específico usando C#.Listar todos los temas de un archivo CHM

He intentado usar

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

pero no encuentra la página. No debo estar escribiendo el título del tema correctamente. ¿Hay alguna manera de que pueda recuperar programáticamente todos los temas de un archivo CHM para que pueda ver cuáles son?

Respuesta

7

No, la función HtmlHelp API es demasiado primitiva para admitir la enumeración de temas. Puede usar el administrador de archivos 7-zip para mirar dentro del archivo .chm. Haga clic con el botón derecho en el archivo y elija "Abrir dentro". O use la herramienta de autoría de ayuda que se utilizó.

4

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

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

Si la URL es demasiado larga para ver el tema en al final, puede seleccionar la dirección con el mouse y desplazarse hasta el final.

Aquí hay una captura de pantalla.

enter image description here

+0

maravilloso, haciendo lo que dice que da una cadena de anclaje diferente a la que en el archivo HTML. Cambia la posición de desplazamiento del archivo de ayuda Y el contenido resaltado en la lista de la izquierda (utilizando el nombre de anclaje "obvio" solo cambia el anterior). ¡Gracias! –

0

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

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

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

using System.Windows.Forms; 

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