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

简介: 最近在使用微软公司提供的HTML   Help   Workshop工具包 制作chm帮助文件, 现在总结如下:   一、制作前的HTML文件准备工作     由于chm帮助文件是基于HTML文件特征的,所以前期编写HTML文件的准备工作很重要。

最近在使用微软公司提供的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

相关文章
|
19天前
|
机器学习/深度学习 移动开发 自然语言处理
HTML5与神经网络技术的结合有哪些其他应用
HTML5与神经网络技术的结合有哪些其他应用
31 3
|
1月前
|
JavaScript 前端开发 UED
HTML 超链接的多种类型及应用
【10月更文挑战第17天】HTML 超链接类型丰富多样,它们共同构成了网页中不可或缺的导航和交互元素。通过合理地选择和运用这些超链接类型,我们可以为用户创造更加流畅和便捷的浏览体验,提升网站的可用性和吸引力。
43 1
|
1月前
|
Web App开发 前端开发 搜索推荐
创建HTML文件
【10月更文挑战第14天】创建HTML文件
40 4
|
1月前
|
移动开发 前端开发 JavaScript
HTML5 新的 Input可以有哪些好玩的应用
HTML5的新输入类型为应用带来了多种创新和互动功能,显著提升了用户体验和界面趣味性。例如,颜色选择器可动态改变网站主题色;滑块控制适用于音量或亮度调节;日期和时间输入便于预约系统的设计;互动式表单结合多种输入类型实现高效的数据收集;猜数字游戏增加用户参与度;实时搜索建议优化网站搜索功能;图像预览功能让用户上传图片前预览效果;密码可见性切换按钮提升表单的可用性;结合用户位置的电话号码输入则能提供附近服务信息。这些应用场景不仅使网站更具吸引力,还增强了用户的互动体验。
|
1月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
79 2
|
1月前
|
缓存 移动开发 前端开发
HTML5 应用程序缓存详解
HTML5 应用程序缓存(Application Cache)通过缓存 HTML、JavaScript、CSS 和图像等资源,使 Web 应用能在离线状态下运行。它利用 Manifest 文件(`.appcache`)定义缓存资源列表,浏览器会在加载页面时下载并缓存这些资源。此外,应用程序缓存还提供了事件处理机制,允许开发者监控缓存状态并进行手动管理。尽管这一技术已被视为过时,建议使用 Service Workers 和 Cache API 等现代替代方案来实现更强大的离线功能和缓存控制。
|
2月前
|
移动开发 JavaScript 数据管理
HTML5 拖放在游戏中的应用
HTML5的拖放功能在游戏开发中广泛应用,尤其在创建交互式网页游戏时。它支持多种场景,如拖动角色或物品、选择和装备物品、拼图或配对游戏以及自定义界面布局。通过简单的HTML和JavaScript代码,可实现流畅的拖放交互,并提供视觉反馈,增强用户体验。此外,还需考虑设备兼容性和数据管理,确保游戏在不同设备和浏览器上都能良好运行。总之,HTML5拖放功能使网页游戏更生动有趣。
|
1月前
|
JavaScript 前端开发 容器
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
113 0
|
2月前
|
移动开发 前端开发 JavaScript
HTML5 Canvas详解及应用
HTML5 Canvas 允许通过 JavaScript 在网页上动态绘制图形、动画等视觉内容。首先在 HTML 中定义 `<canvas>` 元素,并通过 JavaScript 获取画布上下文进行绘制。常见方法包括绘制矩形、路径、圆形和文本,以及处理图像和创建动画效果。适用于游戏开发、数据可视化、图像编辑和动态图形展示等多种应用场景。需要注意性能优化、无状态绘制及自行处理事件等问题。
|
3月前
写一个HTML文件
【8月更文挑战第27天】写一个HTML文件。
44 1