具体项目要求是:把已有的网页显示的帮助文档用html help workshop生成一个.chm文档,并且能够在用c#编写的程序中感觉程序当前运行的情况,用户单击帮助按钮或者按F1后能够打开这个.chm文档,并自动定位到特定的位置。比如说:当前用户在输入一些产品信息,此时单击帮助按钮,打开.chm文档,chm文档自动定位到“输入产品信息”的帮助页面。
请问这个功能该如何实现?各位高手不妨给出详细步骤和程序。兄弟谢谢了!!!

解决方案 »

  1.   

    About the HTML Help API functionThe HTML Help API has one function that displays a help window. Using the API commands, you can specify which topic to display in the help window, whether the help window is a three-pane Help Viewer or a pop-up window, and whether the HTML topic file should be accessed via a context ID, an HTML Help URL, or a Keyword link (KLink) lookup. HTML Help API syntaxHWND HtmlHelp(HWND    hwndCaller,
                  LPCSTR  pszFile,
                  UINT    uCommand,
                  DWORD   dwData) ;Parameter DescriptionhwndCaller----Specifies the handle (hwnd) of the window calling HtmlHelp(). The help window is owned by this window. 
    When the help window is closed, HtmlHelp() will return focus to the owner unless the owner is the desktop. If hwndCaller is the desktop, then the operating system determines where focus is returned.In addition, if HtmlHelp() sends any notification messages from the help window, they are sent to hwndCaller as long as you have enabled notification message tracking in the help window definition.pszFile----Depending on the uCommand value, specifies the file path to either a compiled help (.chm) file, or a topic file within a specified help file. 
    A window type name can also be specified, preceded with a greater-than (>) character.If the specified command does not require a file, this value may be NULL.uCommand----Specifies the command to complete.  
    dwData----Specifies any data that may be required, based on the value of the uCommand parameter.  Return valueDepending on the specified uCommand and the result, HtmlHelp() returns one or both of the following: 
    The handle (hwnd) of the help window. 
    NULL. In some cases, NULL indicates failure; in other cases, NULL indicates that the help window has not yet been created. ExampleThe following example calls the HH_DISPLAY_TOPIC command to open the help file named Help.chm and display its default topic in the help window named Mainwin. Generally, the help window specified in this command is a standard HTML Help Viewer. HWND hwnd = HtmlHelp(GetDesktopWindow(),
                         "C:\\Help.chm::/Intro.htm>Mainwin",
                         HH_DISPLAY_TOPIC,
                         NULL) ;
      

  2.   

    这是从自带的《HTML Help API Reference》中摘抄下来的。
    总之,通过对API: HtmlHelp的调用,可以实现你要的效果。至于使用的详细方法,你得自己好好研究研究。
    网上也有很多这方面的例子,关键词是:HtmlHelp API《HTML Help API Reference》可以从微软的网站上下载。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc&DisplayLang=en
      

  3.   

    HelpDocs.zip是帮助文档,其中有一个api.chm就是了!