在VC.net中如何加入HtmlHelp.chm帮助文件?

suwenk 2004-06-30 04:12:52
很郁闷 找到的都是在vc6中如何加的。
在vc.net中试了试 编不通
请高手指教
...全文
127 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangshiping 2004-07-01
  • 打赏
  • 举报
回复
winexec, shellexecute,createprocess都可以吧
Kudeet 2004-07-01
  • 打赏
  • 举报
回复
给你看看参数的完整说明:

关于ShellExecute函数的中文说明

ShellExecute 函数打开或打印一个指定的文件。文件可以是可执行文件也可以是一个文档。请查看关于ShellExecuteEx的帮助。
HINSTANCE ShellExecute(
HWND hwnd, // 主窗口句柄
LPCTSTR lpOperation, // 字符串指针,指定要执行的操作
LPCTSTR lpFile, // 字符串指针,指定文件名或目录名
LPCTSTR lpParameters, // 字符串指针,指定传给可执行文件的参数  
LPCTSTR lpDirectory, // 字符串指针,指定缺省目录
INT nShowCmd // 文件显示模式
);
参数
hwnd
指定一个主窗体。

lpOperation
一个非空的字符串指针,指定操作方式。有以下操作方式可用
"open"
该函数打开由lpFile指定的文件,文件可以是一个可执行文件,也可以是文档文件,也可以是一个要打开的目录。
"print"
该函数打印由lpFile指定的文件。文件应该是一个文档文件。如果是一个可执行文件则运行这个文件就象指定用"opne"操作方式一样。
"explore"
函数打开浏览由lpFile指定的目录窗口。
如果该参数为NULL,则相当于使用"open"操作方式。

lpFile
一个非空字符串指定要打开或打印的文件,或者是要打开浏览的目录名。该函数可以打开一个可执行文件或一个文档文件,也可以打印一个文件。

lpParameters
如果lpFile指定一个可执行文件,则lpParameters 是一个指向非空字符串的指针,代表要传给这个应用程序的参数。
如果lpFile指定一个文档文件,则其应该为空。

lpDirectory
非空字符串指定缺省目录

nShowCmd
如果lpFile指定一个可执行文件,nShowCmd指定应用程序运行时如何显示。可以是下列的值:

值    意义
SW_HIDE 隐藏窗体,激活另一个窗口。
SW_MAXIMIZE 最大化显示
SW_MINIMIZE 最小化显示
SW_RESTORE 正常状态显示
SW_SHOW 激活并以其当前位置尺寸显示
SW_SHOWDEFAULT 以线程创建时传进的参数进行显示
SW_SHOWMAXIMIZED 激活并最大化显示
SW_SHOWMINIMIZED 激活但以最小化方式显示
SW_SHOWMINNOACTIVE 最小化显示,原来焦点窗体不变active.
SW_SHOWNA 以其当前状态显示
SW_SHOWNOACTIVATE
SW_SHOWNORMAL 以正常方式显示。
如果lpFile指定的是文档文件,则nShowCmd应该为0。

返回值
如果成功,返回当前运行应用程序句柄或DDE服务器句柄
如果失败,返回值小于等32,代表下面的意义。

值   意义
0 操作系统内存或资源不够
ERROR_FILE_NOT_FOUND 文件没找到
ERROR_PATH_NOT_FOUND 指定路径不对
ERROR_BAD_FORMAT 不是合法的应用程序
SE_ERR_ACCESSDENIED 操作系统拒绝访问此文件
SE_ERR_ASSOCINCOMPLETE 文件名关联不完整或非法
SE_ERR_DDEBUSY 不能完成DDE事务,因为正在处理其它DDE事务  
SE_ERR_DDEFAIL DDE事务失败
SE_ERR_DDETIMEOUT 请示超时
SE_ERR_DLLNOTFOUND 没找到指定的动态链接库
SE_ERR_FNF 指定文件没找到。
SE_ERR_NOASSOC 没有与当前文件类型关联的应用程序
SE_ERR_OOM 内存不足
SE_ERR_PNF 路径没找到
SE_ERR_SHARE 共享错误

备注
由参数lpFile指定的文件可以是文档文件或是可执行文件。如果是文档文件则可以打开或打印文件,由lpOperation参数指定。如果是可执行文件则只能打开,即使lpOperation指定为"print".
You can use ShellExecute to open or explore a shell folder. To open a folder, use either of the following calls:
可以使用该函数打开或浏览一个文件夹:
ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);

ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);

浏览文件夹:
ShellExecute(handle, "explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
如果 lpOperation 为 NULL,函数打开这个文件如果为"open" 或 "explore",则函数会打开一个窗口
打开一个网叶:
ShellExecute(NULL,"open","http://www.sina.com.cn",NULL,NULL,SW_SHOW);
modena 2004-07-01
  • 打赏
  • 举报
回复
HtmlHelp在主窗口中应用,第一个参数没有
HtmlHelp还可以在CWinApp中应用,第一个参数需要一个HWND
zhangnanonnet 2004-07-01
  • 打赏
  • 举报
回复
和VC一样吧
这样就可以了
ShellExecute(NULL, "open", filepath, NULL, NULL, SW_SHOWNORMAL);
filepath就是帮助文件的路径
suwenk 2004-07-01
  • 打赏
  • 举报
回复
ShellExecute()的方法好用。
modena(非云) 的方法,编译时说HtmlHelp参数不对。不知道为什么,是调用的函数问题?还是没有加载某个头文件?
bremanb 2004-06-30
  • 打赏
  • 举报
回复
ShellExecute(NULL, "open", "c:\\xxx.chm", NULL, NULL, SW_SHOW );
modena 2004-06-30
  • 打赏
  • 举报
回复
HWND hwnd =
HtmlHelp(
GetDesktopWindow(),
"c:\\Help.chm::/Intro.htm>Mainwin",
HH_DISPLAY_TOPIC,
NULL) ;
modena 2004-06-30
  • 打赏
  • 举报
回复
.net是支持HtmlHelp的啊!
lixiaosan 2004-06-30
  • 打赏
  • 举报
回复
你是想怎么添加
在菜单的消息函数中,添加以下代码
ShellExecute(NULL, "open", "c:\\xxx.chm", NULL, NULL, SW_SHOW );
Kudeet 2004-06-30
  • 打赏
  • 举报
回复
直接用ShellExecute();运行也不行吗
Microsoft Help Workshop——HLP文件轻松做 2002-04-14 11:56作者:陈劲宏出处:Yesky责任编辑:   由于HLP格式已经逐 渐被CHM格式所替代,所以制作HLP格式帮助文档的工具相对来说要少一些。一般有Windows Help Designer/WinHelp Edition、 helppad、Windows帮助大师helper、RTF2HLP和我们这里所介绍的Microsoft Help Workshop两种。因为有些工具软件使用时最终还是要Microsoft Help Workshop的支持,我们这里以Microsoft Help Workshop为例介绍一下它的使用方法。 Microsoft Help Workshop(以下简称为HW)是一款专业的制作HLP文件的软件。HW与HTML Help Workshop均是微软开发的制作帮助文件的软件。软件继续保持了简洁、制作方便简单的特点。我们可以到微软的网站去下载,但如果你要下载汉化版的话, 请到http://www.guxiang.com/epubcn/soft-down/hlp/p-helpworkshop403.exe去下载好 了。毕竟汉化版对于英文不太好的朋友来说,还是方便一些。需要说明的是,由于HLP格式出现较早,目前大部分的基于Web的技术都不可以使用。但是由于 HLP文件的界面整洁、对文件的压缩比率较高等特点,目前还广泛应用在很多领域当。操作步骤为:   1.运行HW以后,单击菜单“文件”|“新建”选项,选择默认的“帮助项目”选项,单击OK(好了)按钮。将工程文件保存在某一目录下并给予文件名。此时弹出主编辑窗口,如图1。   2.单击右边的“选项”按钮,在弹出的对话框我们可以设置文件的属性。包括文件标题、压缩率、排序、各种文件信息、搜索支持、宏定义、字体信息等等。 3.单击“文件”按钮,加入需要编译的RTF文件,注意软件只支持导入RTF文件,如图3-2。   4.单击“窗口”按钮,在弹出对话框设置窗口名称和窗口属性。如图3-3。   以下的按钮分别是“位图(Bitmaps…)”、“映射(Maps…)”、“别名(Alias…)”、“设置(Config…)”、“数据文件(Data Files…)”,如果读者愿意可以一一设置,这里就不详述了。 5.设置好文件信息以后,单击工具栏上的“编译”(Compile)按钮(在?按钮的左边即是),或者单击主编辑窗口右下角的“存盘并编译”(Save and Compile)按钮,此时软件会自动编译输出HLP文件并报告编译信息。 由于HLP文件所支持的格式只能是RTF,所以用户在使用HW之前必须先用WORD制作好RTF文件。 二、制作前的准备   1、下载并安装 HTML Help WorkShop   你可以在微软的站点上下载 HHW 软件,也可以直接 按此下载。   下载 HHW 软件后直接运行 htmlhelp.exe,一路“next”就可以安装成功。HHW 内还含一个图形编辑处理程序(HTML Help Image Editor),图形文件的处理也可以由它简单处理。   2、几个概念   相对来讲制作 chm 文件比较简单,大量的工作实际上是在前期制作 html 文件上,你在 chm 文件所看到和听到的,与你在浏览器的结果是一样的。你可以专门为制作 chm 文件而编制 HTML,也可以直接利用现成的小型个人主页快速做成 chm 文件以便向外发放,所不同的是,在个人网站上每个 HTML 文件之间必须由超级链接相连,而用来制作 chm 文件的 HTML 文件组里,允许有独立的 HTML 文件,用户可以通过导航嵌窗来实现对其访问。   现在让我们先了解一下几个用到的概念:   (1)项目文件[Project -- .hhp文件]:包含创建 chm 文件所需的 HTML 文件信息、目录表文件信息、索引文件信息、窗口属性、搜索、书签定义等内容。一个chm文件对应有一个项目文件。[设置方法]   (2)目录表文件[Contents -- .hhc文件]:包含目录表每个标题与 HTML 文件的关联关系。目录表就好像是一本书的目录。该文件不是必需的,如果创建的 chm 文件没有导航嵌窗,就可以不创建 .hhc 文件,这样一来 HTML 的跳转就要借助其内部的超级链接了。[创建方法]   (3)索引文件[Index -- .hhk文件]:一些专业书籍在其后面一般有个索引表,利用已经排序的字母、单词、词组来帮助读者快速定位到需要的一个或几个位置。在 chm 也可以使用索引。索引文件就包含每个关键词(keyword)与 HTML 文件的对应关系。与目录文件的标题不同的是,一个关键词可以对应多个 HTML 文件。索引文件也不是必需的,如果你的 chm 文件的信息不是太复杂,不创建也行。[创建方法]   (4)搜索:要在 chm 文件能使用全文搜索功能,只要在创建 chm 文件时打开一个开关就行了,这样只要在搜索框输入要搜索的内容,chm 就会把全部包含该内容的 HTML 文件列出来,并把搜索内容高亮显示。但是如果使用搜索功能,chm 文件会稍大一点。[设置方法]   (5)书签:在我们阅读图书时,有时会在一些地方放个书签,以便下次能快速找到作标记的地方,在 chm 同样允许你在感兴趣的地方作标记。[设置方法]   (6)窗口属性:是指 chm 文件的介面窗口。你可以自由定义窗口位置、大小、按钮、导航嵌窗、显示模式等。[设置方法]   目录、索引、搜索和书签是 chm 文件左边导航嵌窗的四个导航选项,任何一个都可以随意打开或关闭,当四个功能全部关闭时,导航嵌窗将自动消失。   因为 HHW 对chm 的控制非常灵活,所以你可以制作出功能强大的 chm 文件,也可以制作出非常简单的 chm 文件。另外在制作我们需要指明的是 HTML 文件,而图形、视频、声音等文件不需要指明位置, HHW 会根据 HTML 文件的链接找到它们。 三、制作简单的 chm 文件   我们把没有导航功能的 chm 文件称作“简单的 chm 文件”,它没有导航嵌窗,网页之间的跳转全部依靠 HTML 文件的超级链接。   下面介绍制作简单的 chm 文件(无导航功能)的步骤,这些步骤的叙述将在“制作较复杂 chm 文件”省略或简化,所以不可不读。   1、制作没有功能按钮的 chm 文件   首先你最好把所有要用到的 html 文件及有关图形、声音、视频等文件复制到一个空文件夹(当然可以包含子文件夹),并在 IE 浏览器检验通过,然后启动 HHW,在 File菜单选[New],弹出新建文件对话框。   HHW 可以新建:项目[Project]、文本文件[Text]、HTML文件、目录表文件[Table of Contents]和索引文件[Index]。我们选“项目”,弹出新建项目向导,提示你可以把以前的 WinHelp 项目文件转换为 HHW 项目文件。我们直接按“下一步”。   在这里指定你欲创建的项目的位置和文件名,我们按[Browse],选择我们的 HTML 文件所在目录,并定义一个项目文件名如 test1(程序自动添加 .hhp 后缀),按“下一步”。在出现的对话框指定已经存在的文件。因为我们目前只有 HTML 文件而没有目录文件(.hhc)和索引文件(.hhk),所以只在[HTML files]前面打上小勾。按“下一步”,进入添加 HTML 文件的窗口,按[Add]按钮,把有关的标题 HTML 文件全部选加入(可以一次全部选加入)。按“完成”后,程序就会进入项目编辑界面——也就是 HHW 的主界面,参考图(2)。   首先我们给将来的 chm 文件的窗口标题条指定与 chm 内容相符的文字(如果不指定,则软件默认为“帮助”):按[Project]项目选项左边第三个按钮“新建/编辑窗口显示风格”,在弹出的窗口类型随便输入一个名字如“12”,按“OK”后就会进入“窗口属性”定义对话框。在[General]选项卡的[Title bar text]输入标题条文字“test1--最简单的 chm 文件”如图(3)。   因为我们不需要导航嵌窗及功能按钮部分,所以再确认一下在导航嵌窗[Navigation Pane]不要选[Window with navigation pane, topic pane, and button bar],如图(4)。按确定退回 HHW 主界面。   现在按[Compiled HTML file]编译按钮或者通过在[File]菜单选择[Compile]进行编译,chm 文件就会在指定位置创建完成。这时你可以运行一下新创建的 chm 文件,不难发现,chm 已经包含了所有用到的 HTML 文件、图形文件等,相当于是把全部网页文件打包到 chm 文件了。如图(5)就是最简单的chm文件显示效果。很简单吧?   3、制作包含功能按钮的 chm 文件   与上面操作相同,不同的是在进行到“窗口属性”定义操作时,在[General]指定 chm 文件标题栏的文字“test2---带功能按钮的 chm 文件”,在[Button]指定欲在 chm 文件的按钮区显示的按钮如图(6)。   在[Navigation Pane]导航嵌窗设置里选显示导航嵌窗(与上面不一样),如图(7)。   其他选项卡我们使用默认值(后面在介绍)。设置好后,按编译按钮,生成的 chm 文件如图(8)所示。因为我们没有生成目录表文件和索引文件,所以在 chm 导航窗口不会显示出来。   上面制作的 chm 文件比较简单,但有时也很实用。其页面跳转必须借助 HTML 内部的超级链接和功能按钮,对于比较简单的几个 HTML 文件也已经足够了。如果 HTML 比较复杂,也可以使用分帧处理,同样会作出很不错的 chm 文件,就像我们进入一些有分帧页面的网站时的操作方式一样。如图(9)。Top 4 楼rivershan(阿门)回复于 2002-07-31 21:36:25 得分 0 四、制作较复杂的chm文件   在 windows98 我们常见的 chm 文件多数具有目录及索引,有的还有搜索和书签,这在使用 chm 文件的过程会比较方便。下面我们就来制作带目录、索引、搜索、书签的 chm 文件。在这里我还将介绍一些常用的选项功能的解释。   此类 chm 文件一般包含有多个 HTML 文件。与前面一样,你需要先把网页文件做好,放到硬盘一个文件夹,如 test3。进入 HHW 后选新建项目,并指定新建项目文件的位置和文件名(如test3),在已经存在的文件目录所有用到的HTML文件后,进入 HHW 主界面。   1、目录文件的创建   按[Contents]选项卡,选择[Create a new contents file]创建新的目录文件,并命名它为 contents.hhc。然后进入目录表编辑窗口,如图(10)。   在目录编辑窗口左侧,从上到下排列有11个按钮,前5个分别是:目录表属性设置、插入标题、插入页面、编辑所选标题或页面属性、删除标题或页面,下面4个箭头用来调整所选标题或页面的位置及从属关系,最后两个分别是显示 HTML 文件源码和保存文件。   插入一个标题:按[Insert a heading]按钮,弹出[Table of Contents Entry]对话框,如图(11).   在[Entry title]输入标题内容,如“简介”。按[Add],在弹出的[Path or URL]对话框选择Title为“简介”对应的 HTML 文件,如图(12),按返回后一个标题就添加完成了。这里你也可以按图(12)下面的[Browse...]指定前面没有选择加入HTML 文件,或者直接在[File or URL:]输入。   在标题“简介”下面再添加一个标题如“准备”:按[Insert a heading]按钮,会弹出一个询问是否在所选标题上面插入标题的对话框,我们按“否”,在[Entry title]输入页面标题“准备”,并按[Add]指定对应的 HTML 文件,返回后就又加了一个标题。   在标题“准备”下面插入一个页面(或者是子标题)如“下载”:按[Insert a page]按钮,在[Entry title]输入“下载”,并按[Add]指定对应的 HTML 文件,返回。   同样方法我们可以加入许多标题、子标题、页面,并可以利用那4个箭头按钮来调整标题或页面的位置及从属关系。HHW 最多支持 9 个级别深度。   修改标题及改变标题图标的方法:选标题,按[Edit selection]按钮,可以对其重新指定所关联的 HTML 文件,在[Advanced]通过下面的[Image index]改变标题的图标。如图(13)。   设置目录属性:按[Contents properties]按钮以后我们可以改变目录表显示样式等,使用默认设置就行。   所有标题创建完成后,按左下角的[Save File]按钮,一个目录表文件就创建完成了。如图(14)。   2、索引文件的创建   与目录文件的创建非常类似,只是索引文件需要指定关键词与 HTML 文件的关联关系。请参考目录文件的创建部分,不再赘述。   3、项目文件的设置   按[Project]选项卡,进入项目编辑窗口(即默认的HHW介面)。其左边排列有7个按钮,分别是:项目属性设置、增加或删除 HTML 文件、增加或改变窗口属性定义、API信息、显示 HTML 源码、保存文件、保存文件并编译。   我们按[Change project options]按钮对项目进行设置:通常需要作的是,在[General]选项卡的[Default file]指定封面页,也就是打开 chm 文件时默认显示的 HTML 文件。封面页可以是目录表的某个标题所对应的 HTML 文件,也可以是在目录表不存在的专门用来作封面的 HTML 文件。如图(15)。   如果想在 chm 文件具备全文搜索功能,还需要在[Compiler]选项卡[Compile full-text search information],如图(16)。   其他内容一般可以不去理会。   4、窗口显示风格的设置   按第三个按钮[Add/Modify windows defunitions]设置窗口属性:这里的设置将决定 chm 文件的显示风格。在弹出的对话框我们给窗口风格随便指定一个名字(如12),按 OK 就进入了[Windows Types]对话框。常用的几个设置项为:   (1)General    [Title bar text]输入你欲在 chm 文件的标题栏显示的文字,如“轻松制作 chm 文件”。参考图(3)。   (2)Buttons    选择欲在 chm 出现的按钮。参考图(6)。   (3)Position    [Save user defined windows position after first use]如果选,则系统会保存 chm 使用者最后一次退出 chm 文件时窗口的位置、大小等,下次再打开 chm 时,系统会恢复这些属性。如果不选,则每次都以你或默认的窗口大小、位置打开 chm 文件。    Left和Top是指定打开chm时,窗口左上角的位置,Width和Height则指定窗口的宽和高。如图(17)。   (4)Files    如果选择了显示Home、Jump按钮,就在这里输入对应的 URL 超链接地址,比如你的个人主页地址。   (5)Navigation Pane    [Windows with navigation pane,topic pane,andbutton]如果不选,则chm窗口将没有导航嵌窗和按钮。    [Navigation pane width]指定导航嵌窗的宽度。    [Open with navigation pane closed]如果选,在打开chm文件时导航嵌窗默认为关闭状态。    [Auto sync]如果选chm 的目录标题与 HTML 文件内容将自动保持同步。    [Automatically show/hide navigation pane]如果选,在 chm 为活动(当前)窗口时,导航嵌窗显示,当不是活动窗口时,导航嵌窗自动隐藏。    [Default tab]指定导航嵌窗默认的显示项。这里可以是目录、索引、搜索、书签。    [Search tab]如果选,在chm将具备全文搜索功能,而[Advanced]可以让 chm 具有高级搜索的功能(使用and,or,not,near)。    [Favorites tab]如果选chm文件就会具有书签功能。如图(18)。   另外两个选项卡可以不用管它,使用HHW的默认设置就行。   5、编译成chm文件   经过上面的设置,我们就可以编译了。按工具栏的编译按钮,或者直接按项目窗口左下方的[Save all file and Compile]按钮,几秒钟以后 chm 文件就被编译完成。然后用鼠标双击此 chm 文件就可以看到你的作品了,如果发现问题,还可以返回 HHW 里进行修改调整。参考图(1)。 HTML Help Workshop   微软的HTML Help Workshop 制作CHM文件的工具。   我们可以使用微软的HTMLHelpWorkshop(以下简称HHW)或者“国华软件工作室”的eTextWizard(电子文档处理器,以下简称EW)。HHW在VB、VC等开发工具的CD都有,也可以到微软的站点去下载最新版本,华军软件园(http://www.newhua.com)还有汉化的版本。EW是国人开发的软件,使用上要方便一些,下载地址为http://chmbook.363.net,在此我们以HHW为例。参考下载资料http://hi.baidu.com/e000/blog/item/51a143a96c65fafc1f17a24d.html   假设我们制作好的主页放在C:est目录,其有一个index.html,通过它可以链接到所有其他的文件。   1.打开HTML Help Workshop,单击“File→New”菜单(或者单击工具栏第一个按钮),出现“New”对话框,选择其的“Project”后,按“OK”,创建一个工程。   2.这一步的对话框提供了从*.hlp到*.chm文件的转换,在此我们不需要,直接按“下一步”。   3.这一步的对话框要求指定工程的位置。单击“Browse”,进入C:est目录,并在文件名键入“test”,这时文本框应出现“C:est est.hlp”,然后按“下一步”。   4.这一步要求选择你已为工程创建的文件类型,在此我们选择第三个“HTML files(.htm)”。   5.现在需要添加我们制作好的HTML文件,按“Add”,选择“C:est index.html”,将它添加到列表框。说明一下,只要被index.html文件直接或间接链接到的文件,都会包含进去,因此不是将所有的文件添加进去。然后单击“完成”即可。   6.单击“File→Compile…”(或工具栏第三个按钮),出现“Create a compiled file”对话框,直接单击“Compile”。   7.测试   在资源管理器双击生成的C:estest.chm,在页面单击右键,在菜单选择“属性”,在“属性”对话框复制其的“地址”(应该为mk:@MSITStore:C:est est.chm::/index.html)。将上面的地址粘贴到浏览器的地址栏,如果正确,按回车可以在浏览器看到正确的页面。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧