为应用程序制作帮助文件

  本文简要介绍如何为应用程序制作一个帮助文件。

  我们需要借助的工具软件清单如下:

  (1)支持Rtf格式的文字处理软件,例如 Office 中的Word。

  (2)Help WorkShop。(由VC6携带安装的一个工具)

 

  步骤1:用文字处理软件编辑你的帮助文件(*.rtf),这个文件定义你的帮助文件中的一些主题(Topic),每个topic实际上就是用WinHelp显示的一个页面。这一部本质上就属于文字处理了,只是你需要在保存的时候选择rtf格式。需要特别掌握的是以下几点:

 

  每个topic结束后追加一个分页符。 在每个topic的最前面可以添加以下脚注(添加的脚注请使用以下编号):

  #:你的topic的一个唯一标识符,它是必须的,也是做链接时需要用到的。

  K:定义该topic的关键字,用英文分号分割;

  $:定义该topic的标题,它将显示在winhelp的历史窗口,查找等地方。

 

  制作链接时,把链接的文本用双下划线格式,然后在文本后面添加一段隐藏文本,输入要链接的topic的唯一标示符。

 

  制作出来的rtf文档效果如下图所示: 下图显示的是帮助文件的目录,里面包含了到每个topic的链接。

  

 

  下图显示的是为某个topic添加的脚注:

  

  (2)创建一个Help项目:打开 Microsoft help workshop 软件, 点击File -> New ->选择 Help Project;

  建立好项目以后,我们可以使用右侧的那些按钮去设置这个项目的一些信息,过程很简单,这里就不详细介绍了, 细节可以查阅 help workshop 的帮助文件。设置好的项目如下图所示:

  

 

  (3)先把项目保存,然后我们用help workshop 创建帮助文件的内容文件(*.cnt)。 使用菜单 File->New-> 选择help Contents。然后我们添加目录(Head,一本书的图标)和Topic(文件图标),使用 MoveLeft 和 MoveRight 按钮可以修改缩进。做好的 Contents 效果如下图所示:

 

  

 

  (4)把 contents文件保存,然后打开刚才的help Project, 在Options的 Files 标签页中填加 Contents 文件。如下图所示:

  

 

  然后我们点击“ Save and compile ” 按钮编译帮助文件,编译成功以后,通过菜单 File -> Run Winhelp 可以看到我们做的帮助文件的效果如下图所示:

 

  

 

  帮助文件基本做好了,现在我们为我们的应用程序添加对帮助的支持,首先我们在资源中打开窗口的菜单资源,在帮助菜单下添加下面几项:

  帮助主题(IDM_HELPCONTENTS), 内容(IDM_HELPCONTENTS),搜索帮助(IDM_HELPSEARCH),然后我们在窗口过程中处理WM_COMMAND消息时添加对这几个菜单的处理,相关代码如下:

 

code_wndproc

//获取和程序位于同一个目录下文件的绝对路径

void GetAppFolderFileName(char *buffer, char* shortFileName)
{
    char* pChar = NULL;
    GetModuleFileName(NULL, buffer, MAX_PATH);
    pChar = strrchr(buffer, '\\');
    if(pChar != NULL)
    {
        strcpy(pChar + 1, shortFileName);
    }
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    WORD ctlId, wmEvent;
    switch (message) 
    {
    case WM_HELP: //F1
        {
            //获取和程序位于同一个目录下文件的绝对路径
            char buffer[MAX_PATH];
            GetAppFolderFileName(buffer, "RFCARD.HLP");
            WinHelp (hWnd, buffer, HELP_CONTENTS,(DWORD)0);

        }
        break;
    case WM_COMMAND:
        ctlId    = LOWORD(wParam); 
        wmEvent = HIWORD(wParam); 
        switch (ctlId)
        {
        case IDM_HELPTOPICS: // "Help Topics..."
            {                
                char buffer[MAX_PATH];
                GetAppFolderFileName(buffer, "RFCARD.HLP");
                WinHelp (hWnd, buffer, HELP_FINDER,(DWORD)0);
            }
            break;
        case IDM_HELPCONTENTS: // "Contents"
            {
                char buffer[MAX_PATH];
                GetAppFolderFileName(buffer, "RFCARD.HLP");
                WinHelp (hWnd, buffer, HELP_CONTENTS,(DWORD)0);
            }
            break;
        case IDM_HELPSEARCH: // "Search for Help On..."
            {
                char buffer[MAX_PATH];
                GetAppFolderFileName(buffer, "RFCARD.HLP");
                WinHelp(hWnd, buffer, HELP_PARTIALKEY, (DWORD)(LPSTR)"");
            }
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    }
}

  然后我们重新编译我们的应用程序,成功以后,可以在应用程序处于前台时按下F1键(程序将收到WM_HELP消息),或者点击帮助下面的菜单,查看效果可能如下图所示:

   

 

  

 

  

 

  本文参考以下资料:

  (1)崔晓阳,实例简述Hlp帮助文件的制作,《农业网络信息》2007年第9期。

  (2)MSDN:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/dnwui/html/msdn_generic.htm

    Robert B. Hess, Generic: Anatomy of a Simple Win32 Application, Windows User Interface Technical Articles, October 17, 1994; 

时间: 2024-12-09 22:47:46

为应用程序制作帮助文件的相关文章

QT在Windows下如何制作安装文件和发布程序

QT程序设计完毕时,我们就要发布自己的程序,发布程序有两种方法:一是静态编译,二是制作程序安装包. 静态编译好麻烦,我从来没有成功过,所以我用了动态编译方法,设计完成时,用release方式编译程序,把生成的EXE文件和其依赖的库放在一个文件夹中,用setup2go生成安装文件. 好,我们启动程序,选择文件>>>>>>>新建工程. 保存工程项目 出现了安装配置栏目,我们以XnView为例一个个详细说明. 1.常规信息:填写软件版本.版权及一些注释项目.

XP系统手动制作exe文件关联修复器的方法

XP系统手动制作exe文件关联修复器的方法   新建文本文档电脑常识 XP系统制作exe文件关联修复器的方法: 1.在桌面上空白处鼠标右键,弹出的快捷菜单指向"新建",在下一级菜单中选择"文本文档"; 2.打开新建的文本文档,将下面的代码复制进去: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTexefile] @="应用程序" "EditFlags"=hex:3

用C#制作PDF文件全攻略

攻略 前 言丽水市汽车运输集团有限公司信息中心 苟安廷PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少,在网上搜来搜去,都转贴的是同一段"暴力"破解的方法,代码片断如下: StreamWriter pPDF=new StreamWriter(filePath); ArrayList xRefs=new ArrayList(); float yPos =0f; long streamStart=0; l

用JBuilder9制作EXE文件不公开秘笈

本文是Borland不公开的使用技巧,能够通过JBuilder来制作exe文件来启动Java文件. JBuilder并不支持本地编译机制.但是有一个隐藏的技巧可以让你从可执行文件来启动Java 程序,可以出现或者不出现console窗口.需要JBuilder的bin目录下的这些文件: JBuilder.exe JBuilderW.exe (可选) JBuilder.config. jdk.config JavaLauncher.dll "JBuilder.exe"是一个通用的可执行外壳

NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版

原文:NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版 nsis中文版(Nullsoft Scriptable Install System)是一个专业的开源的可以用来封闭Windows程序的实用工具,是一个开源的 Windows 系统下安装程序制作程序.nsis它功能强,源码是直接使用C语言编写而成,并且可以直接到nsis官网下载所有nsis版本,并且提供了详细的帮助文档,方便用户制作时使用.安装页面可以使用Page自定义界面.卸载页面可以配置让用户选择是否删除用户文件.系

c#窗体-求教C#窗体应用程序制作

问题描述 求教C#窗体应用程序制作 求问:用C#窗体应用程序做一个类似windows的文件夹的程序,就是比如可以双击打开窗体里面的文件夹,文件夹里面可能还有其他文件夹,右键点击还会出现属性栏,比如复制,删除等. 我是C#初学者,大神指导一下思路,现在完全没有头绪.或者帮我做一个简单的程序出来也行. 解决方案 你的最终目的是否是为了获取文件或文件夹的绝对路径?如果是OpenFileDialog可以满足你的需求. 解决方案二: C#窗体应用程序C#窗体应用程序新建文本文件并写入-C#窗体应用程序中,

.net卸载程序制作

原文:.net卸载程序制作 方法一: 在打包项目中添加文件msiexec.exe(一般在c:\windows\system32(系统目录中)找到). 在文件系统视图中选择应用程序文件,在msiexec.exe上单击右键选择"创建快捷方式",重命名快捷方式为"uninst". 更改此快捷方式Argmuments为"/x {产品ID}",产品ID的值为打包项目的ProductCode属性值. 方法二: 先生成安装包,记下ProudctCode(选择解

c#写的Winform程序制作安装包

问题描述 c#写的Winform程序制作安装包出问题了,我希望制作成一个包直接安装,.netFrameWork也封装到里面,没有安装就安装,安装了就算了..但是无论我用VS怎么弄,就是无法做成一个exe,,在"系统必备"里面选择了"从与我应用程序相同的位置下载系统必备组件"生成的是一个文件夹,.netFrameWork被放在文件夹里面..是在不行,多个文件就多个文件吧..问题的重点在于,我用生成的东西安装了之后,程序根本无法运行,提示:UnabletofindaVe

bilibili弹幕转ass程序制作思路及过程_其它相关

b站的弹幕,线下播放还是挺麻烦的,专用的弹幕播放器对其他格式的视频支持不好.我也试着弄个弹幕转字幕的小程序出来. 抓取xml文件的工作就不多说了,很简单的事,只要在播放页面看看源文件就能确定xml文件的地址进行抓取了. 本文主要是讲述xml内的弹幕转字幕的过程. 除去xml文件开头结尾的一些七七八八的东西,弹幕主体是这样的: <d p="51.593,5,25,16711680,1408852480,0,7fa769b4,576008622">怒求 up 自己配音!<