各位朋友晚上好。我们公司的软件的帮助文件是chm格式,对应于各个子模块共有8个chm帮助文件,我有个任务是在软件界面上搜索帮助文件,搜索到后弹出这个chm文件,同时还要定位到搜索到的关键字的地方。
   比如在软件界面搜索框输入"采购订单",然后点击搜索,此时程序在8个chm帮助文件中搜索这个关键字,搜索到后弹出打开这个chm文件,同时要定位到此chm文件介绍"采购订单"的地方,这样做有实现的方法吗,用c#或者vb语言,本人对这块不熟,比如对chm文件的格式有要求吗,怎么实现搜索并定位,请高手不吝赐教,万分感激

解决方案 »

  1.   

    可以当然可以
    楼主可以先查查CHM文件的格式,然后写个解析器不就OK了
      

  2.   

    倒是可以用Process.start启动你要启动chm,要定位到采购订单就不知道了,期待高手解决。
      

  3.   

    string helpfile = “helpfile.chm”; 
    Help.ShowHelp(this, helpfile); 
    显示指定帮助文件的索引。 
    Help.ShowHelpIndex(this, helpfile); 
      

  4.   

    简单点的是,制作CHM是,同时整一份关键词列表出来
    这里有一个CHM文件格式的资料
      

  5.   

    这个你可以参考SharpDevelop的做法,下载一个SharpDevelop的源代码,里面有涉及到如何定位chm帮助文件主题的实现。
      

  6.   

    或者使用HelpProvider 类 :
    参考这个使用:
    http://hi.baidu.com/tewuapple/blog/item/3d8eaa13c128ca5bf919b85d.html
      

  7.   

    如果在chm文件中搜索不方便,那能不能通过程序在word文件中搜索呢,chm是由word文件转化来的,先在word中搜索到关键字,再定位到chm中,这样好不好实现呢
      

  8.   

    老大,你这解决问题的思路就不对
    按你的逻辑,EXCEL也能转成CHM,PDF、TXT都能转成CHM,你是不是要到这些文件里搜呢
    再说了,CHM本质上是一个HTML的集合
      

  9.   

    联机帮助系统是任何一个完备的应用软件所不可缺少的重要组成部分,一个好的联机帮助系统可以使用户在软件使用过程中能够迅速掌握软件的操作、使用方法,使系统具备很强的自学习能力。为了使开发的软件具有专业水准,就必须考虑为软件制作一个新颖、实用的联机帮助系统, 传统制作联机帮助使用HtmlHelp Workshop(制作CHM格式联机文档),用此系统制作出的联机文档较适合windows应用(也就是我们常说的c/s程序),它不具备即席更新和快速浏览功能,在公网上必须先下载到本地才能阅读,因此并不适合互网应用。
        BizHelp Online Author是一款适合windows应用或互联网应用的联机帮助系统,它具备以下特点•所见即所得(WYSWYG)编辑风格,提供强大的在线编辑功能。
    •支持从word或chm离线文档生成帮助文档,提供方便的转换功能
    •支持常见的浏览器种类,如IE,firefox等
    •支持静态内容发布模式,静态发布可生成纯HTML文档格式,可脱离WEB服务器运行环境,独立提供服务,以离线的方式浏览帮助文档,这种方式下特别适合CD打包发布
    •支持动态模式,对于功能经常变更的系统,可采用动态运行模式,帮助内容不需要发布,内容变更后立即生效,保持和系统功能变化同步
    •可发布为PDF格式文档
    •支持多种帮助内容敏感设置,便于快速定位帮助内容 ,从而实现在WEB应用中按F1键快速获取联系帮助功能。
    •支持flash,avi等多媒体内容。
    •具备index,keyword等多种灵活的内容检索方式。