软件注册站
热情软件屋

 
CHM文件是一种什么文件,如何打开
编号: QA000128    
建立日期: 1998年11月23日 最后修改日期: 2004年1月1日
所属类别: Visual Basic - 磁盘、文件和目录
Visual Basic - 其他方面
   
    CHM文件是一种什么文件,如何打开?(Mike DU)
   
    这是压缩存储的HTML格式的帮助文件,微软计划使用这种格式替代.hlp格式。如果想制作这种文件可以访问http://msdn.microsoft.com/workshop/author/Htmlhelp/下载HTML Help Work Shop,编辑方法参考QA003204 "用Htmlhelp Workshop制作符合Windows 98规范的帮助文件"。从Visual Basic 6.0开始,VB直接支持chm格式的帮助,使用下面的语句:
    App.HelpFile = App.Path & "\help.chm"
    然后在程序中按F1,帮助就出来了。如果想建立上下文帮助,只需要将控件的HelpContextID属性值和帮助文件中的Topic ID对应起来就可以了。
    也可以使用API的HtmlHelp函数调用这个文件。下面以VB为例说明如何在程序中打开这种文件。
    首先建立一个模块,输入以下内容:
     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 ' 调用弹出式帮助
     Const HH_HELP_CONTEXT = &HF ' 调用由dwData指定的上下文敏感帮助
     Const HH_TP_HELP_CONTEXTMENU = &H10 ' 弹出式文字帮助, 类似WinHelp的HELP_CONTEXTMENU
     Const HH_TP_HELP_WM_HELP = &H11 ' 弹出式文字帮助,类似WinHelp的HELP_WM_HELP
     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
    然后使用下面的代码调用帮助:
     ' H在Click事件中调用HTML帮助文件
     Private Sub HH_DISPLAY_Click()
     ' hWnd是一个在其他地方定义的常数,是要显示的帮助窗口的父窗口的句柄
     Dim hwndHelp As Long
     ' 返回值是创建的帮助窗口的句柄。
     hwndHelp = HtmlHelp(hWnd, "myfile.chm", HH_DISPLAY_TOPIC, 0)
     End Sub
    
     ' 使用变量ContextID指定要显示的主题
     Private Sub HH_HELP_Click()
     Dim hwndHelp As Long
     ' 返回值是创建的帮助窗口的句柄。
     hwndHelp = HtmlHelp(hWnd, "myfile.chm", HH_HELP_CONTEXT, ContextID)
     End Sub
    

    另外,推荐一个站点Help Technology Centre(http://www.mvps.org/htmlhelpcenter/),这个站点包括了最全面的HTML Help的工具和资料。
    
    云刀的意见:
    用默认方式打开更方便。(我省略了声明部分...)
     ShellExecute hwnd, "open", "myfile.chm", vbNullString, vbNullString, SW_SHOW
    (主持人注:对于打开CONTEXT,这种方式是最方便的,但HtmlHelp函数可以显示指定TOPIC。)
    
    amazon的意见:
    Private Sub Command1_Click()
    Shell "hh.exe abc.chm", vbNormalFocus
    End Sub
    
    

    (主持人注:这个方法和云刀的方法类似。)
    
    相关问题:
    QA004378 "如何制作上下文相关的HTML帮助"
    QA004865 "打开chm文件时跳到的指定页面"

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 磁盘、文件和目录, disk, file, fat, directory, folder, 其他方面,

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio