Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   





Получить HTML-код из всех запущенных экземпляров Internet Explorer

Автор: http://www.swissdelphicenter.ch

uses
  MSHTML_TLB, ActiveX;


 function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean;
 var
  ps: IPersistStreamInit;
  s: string;
  ss: TStringStream;
  sa: IStream;
 begin
  ps := WB.document as IPersistStreamInit;
  s := '';
  ss := TStringStream.Create(s);
  try
    sa:= TStreamAdapter.Create(ss, soReference) as IStream;
    Result := Succeeded(ps.Save(sa, Bool(True)));
    if Result then ACode.Add(ss.Datastring);
  finally
    ss.Free;
  end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 var
  ShellWindow: IShellWindows;
  WB: IWebbrowser2;
  spDisp: IDispatch;
  IDoc1: IHTMLDocument2;
  k: Integer;
 begin
  ShellWindow := CoShellWindows.Create;
  // get the running instance of Internet Explorer 
 for k := 0 to ShellWindow.Count do
  begin
    spDisp := ShellWindow.Item(k);
    if spDisp = nil then Continue;
    // QueryInterface determines if an interface can be used with an object 
   spDisp.QueryInterface(iWebBrowser2, WB);
    if WB <> nil then
    begin
      WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
      if iDoc1 <> nil then
      begin
        WB := ShellWindow.Item(k) as IWebbrowser2;
        begin
          // Add HTML Code to Memo 
         Memo1.Lines.Add('****************************************');
          Memo1.Lines.Add(WB.LocationURL);
          Memo1.Lines.Add('****************************************');
          GetHTMLCode(WB, Memo1.Lines);
        end;
      end;
    end;
  end;
 end;
           




Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011