Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Abrir archivos chm en visual basic

Estas en el tema de Abrir archivos chm en visual basic en el foro de Visual Basic clásico en Foros del Web. Hola, cree un archivo de ayuda chm para mi aplicacion y tengo problemas para abrirlo desde visual... probe con: - Shell("start " & App.Path & ...
  #1 (permalink)  
Antiguo 01/03/2004, 08:34
 
Fecha de Ingreso: enero-2004
Mensajes: 20
Antigüedad: 20 años, 3 meses
Puntos: 0
Pregunta Abrir archivos chm en visual basic

Hola, cree un archivo de ayuda chm para mi aplicacion y tengo problemas para abrirlo desde visual...

probe con:

- Shell("start " & App.Path & "\help\pesca_help.chm")

- Shell(App.Path & "\help\pesca_help.chm")


y en los dos casos me dice que no puede encontrar el archivo.

Alguien sabe como puedo hacer para abrir el archivo?
__________________
Prefiero las dudas del reflexivo a la tonta y orgullosa seguridad de los necios
  #2 (permalink)  
Antiguo 30/03/2004, 17:15
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Control ActiveX

Si lo deseas yo tengo un control ActiveX hecho por mí, en el cual tu escribes el Path y la ventana que quieres abrir exáctamente del archivo de ayuda .chm y el control hace todo el trabajo "sucio".

Si quieres te lo puedo mandar via e-mail. Para esto sólo escríbeme a [email protected] y en Asunto escribe CHM, luego yo te devolveré un mensaje con el control adjunto.

Es muy fácil de usar, funciona en VB 5/6 y además trae su propio archivo de ayuda .chm en donde te indica las propiedades y métodos del control.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 04/04/2004, 13:29
 
Fecha de Ingreso: abril-2004
Mensajes: 16
Antigüedad: 20 años, 1 mes
Puntos: 0
No es necesario utilizar algun ActiveX para abrir los archivos CHM, y usar la funcion Shell tampoco es la mejor opción, ya que tantas veces como se ejecute esa función sera el número de ventanas que estaran abiertas, todas ellas con el mismo archivo, es decir, si pones la sentencia Shell(....) en una opción de menú, si el usuario de la aplicación accede tres veces a esa opción de menú, este tendra tres ventanas con el mismo archivo CHM abiertas.

No se cómo funcione el ActiveX que te sugirierón utilizar, no se si tenga esa misma problematica, o alguna otra, yo te recomendaría utilizar mejor la función API que realiza la tarea de abrir el archivo CHM, esta abrira solo una ventana con el archivo CHM independientemente de cuantas veces se ejecute esta.

Lo siguiente lo tendras que agregar en un modulo, para poder tenerlo accesible desde cualquier parte de la aplicación:

Public Enum HH_COMMAND
HH_DISPLAY_TOPIC = &H0
HH_HELP_FINDER = &H0
HH_DISPLAY_TOC = &H1
HH_DISPLAY_INDEX = &H2
HH_DISPLAY_SEARCH = &H3
HH_SET_WIN_TYPE = &H4
HH_GET_WIN_TYPE = &H5
HH_GET_WIN_HANDLE = &H6
HH_GET_INFO_TYPES = &H7
HH_SET_INFO_TYPES = &H8
HH_SYNC = &H9
HH_ADD_NAV_UI = &HA
HH_ADD_BUTTON = &HB
HH_GETBROWSER_APP = &HC
HH_KEYWORD_LOOKUP = &HD
HH_DISPLAY_TEXT_POPUP = &HE
HH_HELP_CONTEXT = &HF
HH_TP_HELP_CONTEXTMENU
HH_TP_HELP_WM_HELP = &H11
HH_CLOSE_ALL = &H12
HH_ALINK_LOOKUP = &H13
End Enum

Public Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As HH_COMMAND, ByVal dwData As Long) As Long

Ahora, para abrir el archivo chm, como por ejemplo desde una opción de menú, tendras que tener algo cómo lo que sigue:

Private Sub mnuAyuda_Click()
'De esta forma se muestra en el tópico por defecto
Dim h As Long
h = HtmlHelp(Me.hWnd, "hhw_vb.chm", HH_DISPLAY_TOPIC, 0&)
End Sub

Espero que te sea de utilidad o a alguien más
  #4 (permalink)  
Antiguo 05/04/2004, 15:36
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Precisamente lo que hace el control es evitarle tener que escribir todo ese código. Lo único que debe hacer usted como programador es colocar el path completo del archivo chm (en la propiedad Path) y el nombre de la página web que desea abrir exáctamente del archivo de ayuda. De esta forma me parece a mí que es más fácil, y práctico ya que no tiene que llenar el programa de código fuente innecesario.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #5 (permalink)  
Antiguo 05/04/2004, 22:17
 
Fecha de Ingreso: abril-2004
Mensajes: 16
Antigüedad: 20 años, 1 mes
Puntos: 0
Pues me gustaría que me pasaras el ActiveX para analizarlo y asi poder opinar acerca de el
  #6 (permalink)  
Antiguo 16/04/2004, 07:37
 
Fecha de Ingreso: enero-2004
Mensajes: 20
Antigüedad: 20 años, 3 meses
Puntos: 0
gracias nightmare, cree el modulo con el codigo como me dijiste y funciono a la perfeccion...
voy a analizar el control activex de chronos682 y les comento.
__________________
Prefiero las dudas del reflexivo a la tonta y orgullosa seguridad de los necios
  #7 (permalink)  
Antiguo 16/04/2004, 08:14
 
Fecha de Ingreso: abril-2004
Mensajes: 16
Antigüedad: 20 años, 1 mes
Puntos: 0
Ok. De nada, haber si tu si me puedes enviar el Active X, mi e-mail es [email protected] para tambien analizarlo y dar mi punto de vista
  #8 (permalink)  
Antiguo 16/04/2004, 08:21
 
Fecha de Ingreso: enero-2004
Mensajes: 20
Antigüedad: 20 años, 3 meses
Puntos: 0
control activex

todavia no lo recibi, le mande un mail a chronos682, asi que en cuanto tenga el control te la re-envio

salu2
__________________
Prefiero las dudas del reflexivo a la tonta y orgullosa seguridad de los necios
  #9 (permalink)  
Antiguo 19/04/2004, 19:21
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
chmFilesX ActiveX

Envié el control chmFilesX a [email protected]. Espero que él se encargue de reenvirlo. Además, espero que cada uno de ustedes lo prueben, lo analicen y manden alguna sugerencia o comentario al foro de discusión. Espero alguno de sus mensajes. Posiblemente le mande una copia a Nightmare esta o la próxima semana.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #10 (permalink)  
Antiguo 14/07/2008, 11:15
 
Fecha de Ingreso: enero-2008
Mensajes: 181
Antigüedad: 16 años, 3 meses
Puntos: 1
De acuerdo Respuesta: Abrir archivos chm en visual basic

Hola amigos, yo tengo un problema conrespecto a abrir los archivos chm solo que mi caso yo habro el archivo con el siguiente codigo:
Código:
h = HtmlHelp(Me.hwnd, App.Path & "\Multiplicare_Ganadero.chm", HH_DISPLAY_TOPIC, 0&)
el caso es que mi problema o mas bien quisiera que alguien pudiese ayudarme a como puedo abrir el archivo pero en un tema en especifico. es decir el codigo que menciono arriba me abre el archivo en un tema default pero quisiera saber como hacerlo en un tema especifico. espero que me puedan ayudar se los agradeceria muchisimo.. les agradezco de antemano y les envio un cordial saludo.
  #11 (permalink)  
Antiguo 14/07/2008, 11:28
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Abrir archivos chm en visual basic

no revivan post viejos esto tiene casi 4 años........
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:01.