最近在使用微软公司提供的HTML   Help   Workshop工具包 制作chm帮助文件, 现在总结如下:
   
一、制作前的HTML文件准备工作

  由于chm帮助文件是基于HTML文件特征的,所以前期编写HTML文件的准备工作很重要。 它的每个主题就是一个HTML文件 , 主题文件

可以用任何一个HTML编辑器进行编辑,也可用HTML    Help   Workshop编辑, 也可以通过Word   97或Word   2000,将Word格式的

主题文件转换成HTML格式。

二、创建项目文件

  第一步:点击HTML   Help   Workshop菜单栏中的“File/New”命令,这时出现“选择新建内容”的对话框,选中“Project”。

  第二步:,按“OK”按钮后,将“Convert   WinHelp   Project”这个选项留空,继续下一步。

  第三步:在弹出的"Destination"界面中,点击“Browse”按钮,设置放置项目文件的目录及项目文件名, 如 test,完成后,继续下一

步。  
    第四步:因为我们已经事先建好了html文件,此时请选择“HTML   file”,继续下一步。

  第五步:点一下“Add”按钮并加入已经编辑好的主题文件(也就是设置成首页面的HTML文件)。点击“下一步”,最后点击“完成”按

钮,新的项目即已新增完成。  这里也可以不添加, 直接下一步

现在就可以进入HTML   Help  Workshop工作窗口。在窗口的上方是3个卷标,分别是“Project(项目)”、“Contents(目录)”、

“Index(索引)”。

  在“Project”卷标的左侧是7个按钮,它们的功能名称自上而下分别是:“Change   project   options(改变项目选项)”、

“Add/Remove   topic   files(添加/删除主题文件)”、“Add/Modify   window   definitions(添加/修改窗口定义)”、“HtmlHelp

API   information(HTML帮助API信息)”、“View   HTML   source(校验HTML源文件)”、“Save   Project   Contents   and

Index   files(保存项目、目录和索引文件)”、“Save   all   file   and   Compile(保存全部文件并编译)”。

  第六步:点击“Project”编辑窗口下方的“Change   Project   Options”按钮后,会弹出一个“Options”对话框。在这个对话框的

“General”卷标的“Title”中输入标题“test 帮助文档”,编译后这个标题将出现在chm文件窗口的标题栏中。在“File”卷标中选上

“Automatically   create   contents   file(.hhc)   when   compiling”。

  chm文件的“Search(搜索)”选项允许用户在所有主题文件中搜索字、词或短语,将它们的标题显示出来,而且用醒目的方式显示在

主题中。在 “Compiler”卷标中选上“Compiler   full-text   search   information”,即可支持全文检索功能。

  第七步:点击“Save   project   file   and

compile”按钮,虽然此时已经可以观看结果了,不过,我们要再多作一项设定让最后的成品再完整些。

 三、创建目录文件

  第一步:点击HTML   Help   Workshop工作窗口的“Contents”卷标,这时系统弹出一个对话框,提示你“项目”还没有关联目录文

件(.hhc),选择“Create   a   new   contents   file”,点击“OK”按钮后将创建一个新的目录文件。

  第二步:请指定一个新目录文件名和存放路径,点击“保存”后出现目录编辑窗口,目录编辑窗口的左侧有11个按钮。

  第三步:根据需要插入标题(类似资源管理器中的目录)或页面(类似资源管理器中某目录下的文件),按下“Insert   a

heading(插入标题)”或“Insert   a   page(插入页面)”按钮,都会弹出“Table   of   Contents   Entry”对话框,在“Entry   title”

输入框中输入条目的标题,并根据情况选定对应的主题文件,单击“Entry   title”下的“Add”按钮,在弹出的对话框下面的“File   or   URL”

输入框中 选择在帮助文件中单击该主题时打开的页面,我们在对话框中选择一个.htm文件,最后单击"确定"按钮.

  第四步:如果在单击“Insert   a   page”按钮之前所选择的条目不包含别的条目,也不被别的条目所包含,那么会询问“Do   you

want   to   insert   this   entry   at   the   beginningof   the   table   of   contents?”,选择了“是”会增加起始条目(一级条

目),选择了“否”会增加一个子条目。

  标题可以分为多级,要按照制作的内容统一考虑。如果觉得不满意,可以用左侧的箭头进行调整,也可以选定该条目,单击鼠标右键,

不但可以调整,还可以插入标题、主题或目录文件。

 四、创建索引文件

  索引文件(hhk)也是一个HTML文件,它包含若干个关键词,当用户打开chm文件后,单击索引标签并输入一个关键词后,chm文件

将显示与这个关键词有关的主题的列表,使大家非常方便地找到相关主题。

  第一步:点击HTML   Help   Workshop工作窗口的“Index”卷标,这时系统弹出一个对话框,提示你“项目”还没有关联索引文件

(.hhk),选择“Create   a   new   contents   file”,点击“OK”按钮后将创建一个新的索引文件。

  第二步:请指定一个新索引文件名和存放路径,点击“保存”后出现索引编辑窗口,索引编辑窗口的左侧有11个按钮。

  第三步:单击“Insert   a   keyWord”按钮,出现“Index   Entry”对话框,在“General”选项的“KeyWord”输入框中输入关键词,

再单击“Add”按钮添加与该关键词相关联的主题文件。如果想跳 转到另一个关键词,在“Index   Entry”对话框中按“Advance”选项,选中

“Target   is   Another   KeyWord”,再单击“General”选项的“KeyWord”输入框中输入关键词,再单击“Add”按钮添加与要跳转的关键

词相关联的主题文件, 单击“OK”按钮。最后单击“确定”按钮,并按“Save   file”进行存盘。

 五、最后的设置工作

  第一步:选择“Project”卷标,点击“Change   Project   Options”按钮,在“File”卷标的“Content   file”项目中,点击“Browse”

指定为toc.hhc。在“Index   file”项目中,点击“Browse”指定为index.hhc。在"Default  file"中输入打开帮助文件时的默认界面,我们可

以输入一个.htm文件的路径

  第二步:重新点击“Save   project   file   and   compile”按钮进行存盘编译。

  第三步:最后点击主菜单“View/Compiled   file”,通过“Browse”指定该chm文件的目录及文件名即可看到我们的作品了

  的确也够简单的了,只要有完整的HTML源文件,激活Html   Help   Workshop创建一个新的项目文件,将第一个html(通常是

default.htm或index.html)加进项目,存盘并编译就大功告成。同样 的一组HTML文件,放在网站上是一页一页的网页,变成单一的chm

后,则可用作软件辅助说明,而且已经内建了全文检索功能。

  上述介绍的只是制作chm帮助文件的基本步骤。但它的功能远非这些,如:可向HTML文件中插入HTML   Help   ActiveX控件、Java

脚本、弹出式窗口等等。还可将已有的chm文件解压缩变回原来的HTML文件。

六.在应用程序中调用CHM帮助文件.

在vc 中:

方法一: 使用ShellExcute打开,    就跟启动其他程序一样的

ShellExecute(NULL,"open","test.chm",NULL,NULL,SW_SHOWMAXIMIZED);

方法二:  用HTML Help Workshop SDK中的HtmlHelp函数

1. 确认已经安装htmlhelp   ,  将HTML   Help   Workshop/include/htmlhelp.h 和HTML   Help   Workshop/lib/htmlhelp.lib 两个

文件拷贝到vc的项目文件夹中, Add to project 加入htmlhelp.h

2. 加入代码 #include "htmlhelp.h"  #pragma   comment(lib,"htmlhelp.lib")

HtmlHelp( m_hWnd,"test.chm",HH_DISPLAY_TOPIC,0);

在C#中:

将刚才制作的帮助文件拷贝到你的C#程序的Debug目录下,然后双击菜单中的"帮助"按钮, 添加如下代码:

Help.ShowHelp(this,@"test.chm");

然后为"帮助"菜单添加个快捷键F1,这样在程序运行时,按F1键即可打开帮助文件.

HTML Help Workshop下载:  http://msdn.microsoft.com/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp

参考资料: http://topic.csdn.net/t/20020613/16/801118.html

http://blog.csdn.net/zhangyang0402/archive/2007/05/06/1598512.aspx

http://blog.csdn.net/afxapi/archive/2004/12/23/226654.aspx

HTML Help Workshop制作chm帮助文件和在应用程序中的调用相关推荐

  1. 用html制作chm,用HTML Help Workshop制作chm.doc

    用HTML Help Workshop制作chm 厦瘩没诅涎冶勇耽仪烦虾屏轴与鸵陷伐次基财案撼才陀斌力族恍需皂莱焙投纂罐网诫芬懊恢樟悟冲扇乌艘备阻浮吗况慌敌檀晴檬昧姚帘贰亲曹执萤夏肌邮筏甭拓笆癣锤扁岿 ...

  2. 如何制作CHM帮助文件

    工具:Microsoft的HTML Help Workshop 安装完HTML Help Workshop后,您可以在开始菜单|程序|HTML Help Workshop中打开它.要建立CHM帮助文件 ...

  3. .sh文件是什么语言_shell命令在C语言程序中的调用

    我们知道linux中有很多系统函数,那么如果在程序中可能使用系统函数,那是十分方便的,比如我们需要将日期和时间写入到file文件中去,使用系统命令行函数可以这样: 因此在标准C语言中定义了system ...

  4. 使用HTML Help Workshop制作chm文件

    声明:本指南为个人作品,转载请注明地 址,谢谢合作. HTML Help Workshop是Microsoft推出的免费的chm编译器,"汉化新世纪"提供了汉化版下载,不过该版本附 ...

  5. HTML Help WorkShop制作chm图解

    一位做共享软件做得很成功的同行说过:"一个好的共享软件,首先操作要简单容易上手,其次一定附带一个详尽的帮助手册."可见,对于一个软件来说,帮助文件的重要性.不过大部分程序人员(包括 ...

  6. hosts文件 请检查文件是否在别的程序中打开

    解决方案: 先把host文件复制到桌面或别的文件夹,编辑好后,复制粘贴覆盖原来的host文件就可以了.

  7. 文件在另一个程序中打开,无法删除~【删除文件被占用问题】(保姆级教程,五种解决办法~)

    一,前言 当我们操作电脑要对一个文件进行删除的时候,很多时候都会提示你说你的文件被占用,不能够删除,这个时候我们就非常的苦恼了. 二,解决办法 方法一: 这说明这个文件被打开了,我们需要将这个文件关闭 ...

  8. java播放swf文件_Java-如何在应用程序中嵌入并执行swf文件?

    可以把swf文件放到资源中,在需要执行swf文件时, 1 把swf从资源中加载到内存中 2 把swf的内容传给flash 控件,然后开始播放. 具体的方法是:从flash对象中获取IID_IPersi ...

  9. hhc.exe制作chm

    制作chm帮助文件,很多软件制作CHM都是调用hhc.exe,比如国产软件QuickCHM,就是调用了hhc.exe 微软的HTML Help Workshop也是调用了hhc.exe,比如我们安装完 ...

最新文章

  1. 想法2: 充电性冰袋
  2. 尚国栋:金融风控贷款违约预测(天池学习赛)
  3. 环形链表找入口,真的太妙了
  4. linux下shell命令trap
  5. c#中控制不能从一个case标签贯穿到另一个case标签
  6. Kubernetes学习总结(5)——Kubernetes 常见面试题汇总
  7. 语音识别论文.doc
  8. Table 点击单元格编辑并获取对应的行列
  9. 【转载】spring mvc 使用session
  10. 13.企业应用架构模式 --- 对象-关系元数据映射模式
  11. Flink 中的应用部署:当前状态与新应用模式
  12. 理解机器翻译模型 Transformer
  13. python自动化办公---工资说明excel生成word再转换成pdf
  14. 一些常用单位之间的换算
  15. 防御DDoS措施抓住这一要点,让你从此不再为DDoS头疼
  16. 导出文件 java.util.zip.ZipException: invalid stored block lengths
  17. java辛普生公式_Java – Simpson的方法和错误
  18. 第五章 ERP计划的时间概念
  19. authenticated users: 权限介绍
  20. bat批处理开发-wifi联网系列(3):查询当前连接的wifi SSID和密码,封装为bat函数(如何传递入参和返回出参)

热门文章

  1. python 3.6.5编译安装_Centos7下编译安装python3.6.5
  2. python 进位_Python小课堂(第一讲)
  3. 学习opencv(1)
  4. 使用QueueUserAPC线程注入,
  5. 洛谷P2502:[HAOI2006]旅行
  6. windows 连接Linux
  7. 备份mysql数据库以及文件--脚本
  8. 不同的jar里边相同的包名类名怎么区别导入
  9. Spring REST
  10. [导入]《交互设计之路——让高科技产品回归人性》读书笔记(一)