就是用VC做*.CHM的文件,如果不行,用什么可以做?怎么做?3Q

解决方案 »

  1.   

    喔!是那个Microsoft Help Workshop
      

  2.   

    HTML Help Workshop is better.
      

  3.   

    VC创建工程的时候选上有帮助文件,然后再进入工程目录的HLP文件夹,双击*.hpj或*.cnt都可以的
      

  4.   

    If you installed "HTML Help Workshop" or "Microsoft Help Workshop", run it and select menu Help->Help Topics. The help topics can teach you how to Design a help system step by step.
      

  5.   

    用 HTML HELP WORKSHOP 创建一个 *.CHM 文件。然后是使用头文件和库文件的声明调用1. 指定HtmlHelp.h的路径。选择菜单“Project -> Settings...”,打开“Project Settings”对话框。选中“C/C++”选项卡,选择“Category”列表框的内容为“Preprocesor”,在“Additional include directories”项中填入包含“HtmlHelp.h”这一文件的路径。这个文件你可以在你的硬盘上找,如果你安装了“HTML Help Workshop”,那么在“HTML Help Workshop”程序目录下有个“Include”目录就是。
      2. 指定HtmlHelp.lib的路径。按照与前面类似的方法,选择“Link”选项卡,选择“Category”为“Input”,在“Additional library path”中填入包含“HtmlHelp.lib”文件的路径。同样,在“HTML Help Workshop”程序目录下的"Lib"目录就是。
      3. 指定Lib文件。同样在“Link”选项卡中,选择“Category”为“General”,在“Object/librarie module”中填入“HtmlHelp.lib”。
      4. 最后,将HtmlHelp.h包含在程序中。你可以选择一个合适的位置加入“#include ”这一句话,但我建议你将这句话加入到“Stdafx.h”中。
      
    最后是大家都关心的问题,如何在程序中调用HTML Help。
    例如,我使用以下代码定位程序路径和取文件的完整路径文件名:
      CString appPath;
      GetModuleFileName(NULL, appPath.GetBuffer(MAX_PATH), MAX_PATH);
      //注:使用该API函数得到的是程序文件完整路径文件名,去掉文件名后才是路径。
      appPath.ReleaseBuffer();
      int n = appPath.ReverseFind('\\');
      CString helpFile;
      helpFile = appPath.Left(n);
      TCHAR c = helpFile.GetAt(n - 1);
      if(c == '\\')
        helpFile += "HtmlHelp.chm";
      else
        helpFile += "\\HtmlHelp.chm";
    //通过HtmlHelp调用帮助文件(.chm)的程序代码如下:
      HtmlHelp(NULL, (LPCSTR)helpFile, HH_DISPLAY_TOPIC, 0);
      

  6.   

    用HTML Help Workshop编辑HTML页就可以