Avatar billede martin_moth Mester
17. januar 2002 - 10:23 Der er 5 kommentarer og
1 løsning

Kald hjælpefiler (*.chm) fra VB

Jeg har vha. noget shareware lavet en hjælpefil (hjælp.chm). Den vil jeg gerne kunne aktivere fra et VB-program.

Hvis jeg en \"hjælpe-knaps\" click-hændelse skriver:

Dim Hjælpefil As String
Hjælpefil = App.Path & \"\\hjælp.chm\"
Call Shell(Hjælpefil, 1)

får jeg \"Invalid procedure call or argument\"

Skifter jeg \"hjælp.chm\" ud med en .exe-fil i ovenstående starter .exe-filen fint. Og dobbeltklikker jeg på hjælp.chm i stifinder starter den som den skal...

Højreklikker jeg på hjælp.chm står der
Åbnes med: Microsoft® HTML Help Executable

Nogen der ved hvordan jeg får \"startet\" en *.chm-fil fra VB...

/Martin
Avatar billede Slettet bruger
17. januar 2002 - 10:48 #1
Ved ikke om det her vil virke:

Private Declare Function ShellExecute Lib \"shell32.dll\" Alias \"ShellExecuteA\" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

(skal i toppen af koden)


ShellExecute Me.hwnd, vbNullString, App.Path & \"\\hjælp.chm\", vbNullString, vbNullString, vbMaximizedFocus
Avatar billede martin_moth Mester
17. januar 2002 - 11:24 #2
Wow - det virker!

Hvis du gider fortælle HVOR du har fundet koden for den function du erklære (for du har vel ikke selv lavet den...?), og desuden fortæller hvad parameteren vbMaximizedFocus skal hedde hvis den ikke skal opstarte maximeret (vbNormalFocus eller?), skal du få dine points...

/Martin
Avatar billede Slettet bruger
17. januar 2002 - 11:31 #3
Jeg er desværre ikke klar over hvor jeg i sin tid fandt den :(

Men ifølge http://support.microsoft.com/default.aspx?scid=kb;EN-US;q170918

ser det ud til at du kan bruge SW_SHOWNORMAL , men jeg tror også at vbNormalFocus vil virke :)
Avatar billede martin_moth Mester
17. januar 2002 - 13:03 #4
Takker for et hurtigt og godt svar! /Martin
Avatar billede Slettet bruger
17. januar 2002 - 13:05 #5
selv tak da :)
Avatar billede sjh Nybegynder
17. januar 2002 - 14:07 #6
Du kan også bruge denne her.

Const HH_DISPLAY_TOPIC = &H0
Const HH_SET_WIN_TYPE = &H4
Const HH_GET_WIN_TYPE = &H5
Const HH_GET_WIN_HANDLE = &H6
Const HH_DISPLAY_TEXT_POPUP = &HE  \' Display string resource ID or text in a pop-up window.
Const HH_HELP_CONTEXT = &HF        \' Display mapped numeric value in  dwData.
Const HH_TP_HELP_CONTEXTMENU = &H10 \' Text pop-up help, similar to WinHelp\'s HELP_CONTEXTMENU.
Const HH_TP_HELP_WM_HELP = &H11    \' text pop-up help, similar to WinHelp\'s HELP_WM_HELP.
Const HH_CLOSE_ALL = &H12

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

Private Sub Form_Load()
  Dim hwndHelp As Long
  hwndHelp = HtmlHelp(hWnd, \"myfile.chm\", HH_DISPLAY_TOPIC, 0)
End Sub

Private Sub Form_Unload(Cancel As Integer)
  HtmlHelp Me.hWnd, \"\", HH_CLOSE_ALL, 0
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester