我的想法, 只能先取得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;
http://www.supermemo.com/source/tweb.htm call TheDoc.ExecCommand with 'SelectAll' command and then call procedure TWeb.Copy;
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;
call TheDoc.ExecCommand with 'SelectAll' command and then call procedure TWeb.Copy;