用webbrowser控件浏览出一个网页后,怎样用语句实现选中一个数据块然后复制到剪切板的功能,即Ctrl+A,然后Ctrl+C。

解决方案 »

  1.   

    我的想法, 只能先取得webbrowser中的html源碼, 然後, 分析你要的起始位和終止位, copy 到剪切板...get/save the HTML Code from a TWebbrowser?  uses
      ActiveX;function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;
    var
      ps: IPersistStreamInit;
      fs: TFileStream;
      sa: IStream;
    begin
      ps := WebBrowser.Document as IPersistStreamInit;
      fs := TFileStream.Create(FileName, fmCreate);
      try
        sa := TStreamAdapter.Create(fs, soReference) as IStream;
        Result := Succeeded(ps.Save(sa, True));
      finally
        fs.Free;
      end;
    end;function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
    var
      ps: IPersistStreamInit;
      ss: TStringStream;
      sa: IStream;
      s: string;
    begin
      ps := WebBrowser.Document as IPersistStreamInit;
      s := '';
      ss := TStringStream.Create(s);
      try
        sa := TStreamAdapter.Create(ss, soReference) as IStream;
        Result := Succeeded(ps.Save(sa, True));
        if Result then ACode.Add(ss.Datastring);
      finally
        ss.Free;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      WB_SaveHTMLCode(Webbrowser1, 'c:\test.txt');
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      WB_GetHTMLCode(Webbrowser1, Memo1.Lines);
    end;
      

  2.   

    http://www.supermemo.com/source/tweb.htm
    call TheDoc.ExecCommand with 'SelectAll' command and then call procedure TWeb.Copy;