我的想法是点击界面上的一个帮助按钮,然后可以弹出一个已经写好的帮助文件,不要中断形式,是用户可以边参考文件,边填写菜单中的edit框,不知道能否实现?谢谢!

解决方案 »

  1.   

    当然可以!参考:
    http://www.yesky.com/20010409/165483.shtml
      

  2.   

    或者使用:
    //WinExec主要运行EXE文件。如: 
    WinExec("Notepad.exe Readme.txt", SW_SHOW);  //ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。如: 
    ShellExecute(0, "open", "http://askpro.yeah.net", NULL, NULL, 0);
      

  3.   

    这种方法是不是只能打开.chm格式的文件?
      

  4.   

    如何打开本地的一个网页

    char szDir[256];
        ::GetModuleFileName(NULL,szDir,255); 
    CString desfile = szDir;
    int i  = desfile.ReverseFind('\\'); 
    desfile = desfile.Left(i+1);
    desfile += "helpmcu.htm";

    ShellExecute(NULL,"open","IEXPLORE.exe",desfile,"",SW_SHOW );
    注: helpmcu.htm是放在我程序下的一个htm格式的帮助文件
      

  5.   

    ShellExecute(NULL, "open", "c:\\test\\test.hlp", NULL, NULL, SW_SHOWNORMAL);
      

  6.   

    那可不可以把这个帮助文件放入类似于资源中,让他不被用户直观看到,只要一个.exe文件就好?
    这样实现起来困难吗?
      

  7.   

    ShellExecute(NULL, "open", "c:\\test\\test.chm", NULL, NULL, SW_SHOWNORMAL);
      

  8.   

    要显示一个CHM格式的文件,很容易,用HtmlHelp就可以了,如:
    void CxxxDlg::OnClickhelp()
    {
       HtmlHelp(GetSafeHwnd(),"xxx.chm",HH_DISPLAY_TOC,0);
    }
      

  9.   

    重载WM_HELPINFO消息:
    #include "htmlhelp.h"
    #pragma comment(lib,"Htmlhelp.lib")
    //这两个文件在安装HtmlHelp WorkShop安装目录下可以找到.BOOL CMainFrame::OnHelpInfo(HELPINFO* pHelpInfo) 
    {
    CString szHelpFile=m_ProDir+"masterhelp.chm";
    HWND hwnd =::HtmlHelp(GetDesktopWindow()->m_hWnd,szHelpFile,HH_DISPLAY_TOPIC,NULL) ; 
    return CFrameWnd::OnHelpInfo(pHelpInfo);
    }
    按F1就可以弹出帮助了,如果你要按下按钮才响应,就在按钮函数里调用上面的函数
      

  10.   

    请问楼上,像你这样做,以后我只要复制程序的.exe程序就可以查看帮助文档吗?还是要把.chm的文件也一起copy才行?