Avatar billede jbjerre Nybegynder
16. november 2001 - 23:26 Der er 4 kommentarer og
1 løsning

Hjælpefiler

Hej Alle

Jeg har en applikation med en tilhørende hjælpefil i helpScribble.

Når jeg instalerer applikationen på win 98, fungerer hjælpefilen perfekt.
Når jeg instalerer applikationen på win 2000, får jeg en fejlmeddelese når jeg vil åbne hjælpefilen.

Min kode til at åbne hjælpefiler er som herunder.

Private Sub mnuHjælpØvReg_Click()
    Dim openHelpfile
        openHelpfile = Shell(\"Winhelp.exe / App.Path & \\Hjælp.hlp\", vbNormalFocus)
End Sub

Jeg bruger hcrtf.exe til at compile hjælpefilen.

håber i kan hjælpe.

Hilsen JBjerre
Avatar billede terry Ekspert
17. november 2001 - 10:33 #1
jbjerre>I have a question for you too, but first a suggestion to your problem.

Place this in a module

Public 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

Public Const SW_HIDE = 0
Public Const SW_SHOW = 5

and then change your code to >

Dim openHelpfile as integer

        openHelpfile = ShellExecute(0, \"Open\", Hjælp.hlp, \"\", \"\", SW_SHOW)

Shellexecute opens a file with the program which is associated with it. For example .xls files will be opened in Excel and .mdb in Access. So I would think that .hlp will be opened in winhelp.exe. It sthe same a swhen you double click on a file, it gets opened in a specific program.
Another thing. try changing the name of the file to one which doesnt use danish characters. (æ)

bjbjerre> you mention helpscribble and hcrtf.exe. Do you use these for making your help files? Can I find it anywhere, or even better is it something which can be shared?
Avatar billede jbjerre Nybegynder
17. november 2001 - 12:14 #2
Hej Terry.

Jeg afprøver dit svar på et senere tidspunkt

Ja - der er et program til oprettelse af hjælpefiler
Jeg har hentet helpScribble på www.helpscribble.com der kan du også få compileren hcrtf.

Et enkeltbruger licens koster ca. 70$.
Der også mulighed for at bruge det uden licens, så indsættes dog teksten HelpScribble i bunden af alle siderne i din hjælpefil.

Hilsen JBjerre
Avatar billede jbjerre Nybegynder
20. november 2001 - 23:32 #3
Hej Terry

Jeg har opgraderet min PC til Win 2000, og har valgt følgende løsning på mit problem

Private Sub mnuHjælpØvReg_Click()
    Dim openHelpfile
        openHelpfile = Shell(\"winhlp32.exe / app.path & \\help.hlp\", vbNormalFocus)
End Sub

Din løsning virkede ikke, nok fordi winhelp.exe er sat til standart for hjælpefiler, og mit program skulle benytte winhlp32.exe.
Avatar billede sjh Nybegynder
09. december 2001 - 15:12 #4
har du prøvet med \"WinHelp\" (API)

Const HELP_COMMAND = &H102&
Const HELP_CONTENTS = &H3&
Const HELP_CONTEXT = &H1
Const HELP_CONTEXTPOPUP = &H8&
Const HELP_FORCEFILE = &H9&
Const HELP_HELPONHELP = &H4
Const HELP_INDEX = &H3
Const HELP_KEY = &H101
Const HELP_MULTIKEY = &H201&
Const HELP_PARTIALKEY = &H105&
Const HELP_QUIT = &H2
Const HELP_SETCONTENTS = &H5&
Const HELP_SETINDEX = &H5
Const HELP_SETWINPOS = &H203&

Private Declare Function WinHelp Lib \"user32.dll\" Alias \"WinHelpA\" (ByVal hWndMain As Long, ByVal lpHelpFile As String, ByVal uCommand As Long, dwData As Any) As Long

Private Sub Form_Load()
  WinHelp Me.hWnd, \"C:\\Windows\\help\\common.hlp\", HELP_CONTENTS, ByVal 0
End Sub
Avatar billede jbjerre Nybegynder
21. december 2001 - 23:49 #5
Private Sub mnuHjælpØvReg_Click()
    Dim openHelpfile
        openHelpfile = Shell(\"winhlp32.exe / app.path & \\help.hlp\", vbNormalFocus)
End Sub

Win 2000 bruger winhlp32.exe
win 98 bruger winhelp.exe.
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