在delphi中能打开外部的帮助文件吗?如打开外部的‘.chm’文件?

解决方案 »

  1.   

    ShellExecute(Handle,'open',PChar('d:\ks\1\12.chm'),nil,nil,SW_SHOW);
      

  2.   

    var
     HtmlHelpFileName:string;
    begin
     HtmlHelpFileName:=ExtractFilePath(Application.ExeName)+'help.chm';
     Application.HelpFile := HtmlHelpFileName;
     Application.OnHelp := AppHtmlHelp;
     Application.HelpCommand(HELP_CONTEXT,1);
    emd;function TMainForm.AppHtmlHelp(Command: Word; Data: Longint;
      var CallHelp: Boolean): Boolean;
    var
     ret:integer;
     Hfile,AppPath:string;
    begin if not CallHelp then exit;
     AppPath := ExtractFilePath(Application.ExeName);
     Hfile := Application.HelpFile;
     case Command of
     HELP_FINDER, HELP_CONTENTS:
      ret := HtmlHelp(application.handle, pchar(Hfile), $0001, nil);
     HELP_QUIT:
      ret := HtmlHelp(application.handle,'', HELP_QUIT, nil);
      //ret := HtmlHelp(application.handle,'' , $0012, nil);
     HELP_CONTEXT:
      ret := HtmlHelp(application.handle, pchar(Hfile), $000f, DWORD_PTR(data)); //Data:HelpContext
     end;
     result:=ret<>0;
     CallHelp := False;
    end;
      

  3.   

    ShellExecute(Handle,'open', pchar('c:\hy.chm') ,'','',SW_SHOWNORMAL);
      

  4.   

    用WinExec就行了,
    不会可以看帮助
      

  5.   

    ///.共用帮助文件调用入口系统函数
      function HtmlHelp(hwndCaller:HWND;pszFile:pchar;uCommand:word;dwData:word) :HWND;
               stdcall; external 'Hhctrl.ocx' name 'HtmlHelpA';htmlHelp(Application.Handle,帮助文档的完整路径,0,0);帮助文档的完整路径:c:\MyHelp.chm:/page/jggl/aa.htm.