Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Можно ли определить интернет адрес?

01.01.2007
unit Unit1;
 

 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActiveX, SHDocVw, MSHTML_TLB, StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean;
var
  Range: IHTMLTxtRange;
begin
  Range := ((WB.Document as IHTMLDocument2).body as
    IHTMLBodyElement).createTextRange;
  ACode.Text :=  ACode.Text + Range.text;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var
 ShellWindow: IShellWindows;
 WB: IWebbrowser2;
 spDisp: IDispatch;
 IDoc1: IHTMLDocument2;
 k: Integer;
begin
  ShellWindow := CoShellWindows.Create;
  for k := 0 to ShellWindow.Count do
  begin
   spDisp := ShellWindow.Item(k);
   if spDisp = nil then Continue;
   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
         Memo1.Lines.Add('****************************************');
         Memo1.Lines.Add(WB.LocationURL);
         Memo1.Lines.Add('****************************************');
         GetHTMLCode(WB, Memo1.Lines);
       end;
     end;
   end;
  end;
end;
 
end.

Взято из https://forum.sources.ru

Автор: Rouse_