use API'Declare the following  constants as Public
Public Const HH_HELP_CONTEXT = &HF          'display mapped numeric
Public Const HH_TP_HELP_WM_HELP = &H11      'text popup help, same as
                                            'WinHelp HELP_WM_HELP
Public Const HTML_HELP_FILE_NAME As String = "\h.chm"
Public Const AVI_FILE_NAME As String = "\h.avi"'Declare the following constants as Private
Private Const HH_DISPLAY_TOPIC = &H0
Private Const HH_HELP_FINDER = &H0          'WinHelp equivalent
Private Const HH_DISPLAY_TOC = &H1          'WinHelp equivalent
Private Const HH_DISPLAY_INDEX = &H2        'WinHelp equivalent
Private Const HH_DISPLAY_SEARCH = &H3       'not currently implemented'HH_DISPLAY_SEARCH Command Related Structures and Constants
Private Type tHH_FTS_QUERY
    cbStruct          As Long           'Sizeof structure in bytes.
    fUniCodeStrings   As Long           'TRUE if all strings are unicode.
    pszSearchQuery    As String         'String containing the search query.
    iProximity        As Long           'Word proximity.
    fStemmedSearch    As Long           'TRUE for StemmedSearch only.
    fTitleOnly        As Long           'TRUE for Title search only.
    fExecute          As Long           'TRUE to initiate the search.
    pszWindow         As String         'Window to display in position
End Type
                                             
                                             '
Public Declare Function HTMLhelp Lib "hhctrl.ocx" _
    Alias "HtmlHelpA" (ByVal hwnd As Long, _
    ByVal lpHelpFile As String, _
    ByVal wCommand As Long, _
    ByVal dwData As Long) As Long
    
Private Declare Function HTMLHelpCallSearch Lib "hhctrl.ocx" _
    Alias "HtmlHelpA" (ByVal hwnd As Long, _
    ByVal lpHelpFile As String, _
    ByVal wCommand As Long, _
    ByRef dwData As tHH_FTS_QUERY) As LongPrivate Declare Function mciSendString Lib "winmm.dll" _
    Alias "mciSendStringA" (ByVal lpstrCommand As String, _
    ByVal lpstrReturnString As Any, _
    ByVal uReturnLength As Long, _
    ByVal hwndCallback As Long) As LongPrivate Declare Function GetShortPathName Lib "kernel32.dll" _
    Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
    ByVal lpszShortPath As String, _
    ByVal cchBuffer As Long) As Long

解决方案 »

  1.   

    sfireball(阿飞),你的例子有吗?也贴上来吧!
      

  2.   


    Private Function SetHTMLHelpStrings() As String    SetHTMLHelpStrings = App.Path & HTML_HELP_FILE_NAME & ">Main"
        
    End FunctionPublic Sub HTMLHelpContents(hwnd As Long)    HTMLhelp hwnd, SetHTMLHelpStrings(), HH_DISPLAY_TOC, 0
      
    End SubPublic Sub HTMLHelpIndex(hwnd As Long)    HTMLhelp hwnd, SetHTMLHelpStrings(), HH_DISPLAY_INDEX, 0End SubPublic Sub HTMLShowTopic(hwnd As Long, lngTopicID As Long)    'Force the Help window to load a specific topic.
        'The Help window will synchronize the Contents display automatically
        HTMLhelp hwnd, SetHTMLHelpStrings(), HH_HELP_CONTEXT, lngTopicIDEnd Sub
    Public Sub HTMLHelpSearch(hwnd As Long)    Dim HH_FTS_QUERY As tHH_FTS_QUERY    With HH_FTS_QUERY
            .cbStruct = Len(HH_FTS_QUERY)
            .fUniCodeStrings = 0&
            .pszSearchQuery = ""
            .iProximity = 0&
            .fStemmedSearch = 0&
            .fTitleOnly = 0&
            .fExecute = 1&
            .pszWindow = ""
        End With
        
        HTMLHelpCallSearch 0, SetHTMLHelpStrings(), HH_DISPLAY_SEARCH, HH_FTS_QUERY
            
    End Sub这下大家满足了吧
      

  3.   

    我用SHELL "WINHELP " & APP.PATH & "\AA.HLP"为什么不行?
      

  4.   

    应该使用winhlp32 而不是winhelp还是用shellexecute简单
      

  5.   

    我想给sfireball分,但不知道如何给?