HanDs
NO.2

[Delphi文章] 读取IE地址栏中的地址 





学习中请遵循国家相关法律法规,黑客不作恶。没有网络安全就没有国家安全

本站需要登陆后才能查看

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, shellapi, ddeman, shdocvw,registry;

type
  TForm1 = class(TForm)
    ListBox1Dbl: TListBox;
    Button1: TButton;
    Button2: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
  private
    { Private declarations }
    IEXPLORE:string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
  WinExec(PChar(IEXPLORE+' "'+listbox1.items[listbox1.itemindex]+'"'),SW_NORMAL);
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  maxx = 30;
var
  ShellWindow: IShellWindows;
  nCount: integer;
  spDisp: IDispatch;
  i: integer;
  vi: OleVariant;
  IE1: IWebBrowser2;
begin
  listbox1.clear;
  ShellWindow := CoShellWindows.Create;
  nCount := ShellWindow.Count;
  for i := 0 to nCount - 1 do
  begin
    vi := i;
    try
      spDisp := ShellWindow.Item(vi);
    except
      exit
    end;
    if (spDisp <> nil) then
    begin
      try
        spDisp.QueryInterface(iWebBrowser2, IE1);
      except
        on EAccessViolation do
        begin
          exit
        end;
      end;
      if (IE1 <> nil) then
      begin
        listbox1.items.add(IE1.Get_LocationURL());
      end;
    end;
  end;
  deletefile(extractfilepath(paramstr(0)) + 'Address.d' + inttostr(maxx));
  for i := maxx - 1 downto 0 do
    renamefile(extractfilepath(paramstr(0)) + 'Address.d' + format('%.2d', [i]), 'Address.d' + format('%.2d', [i + 1]));
  listbox1.items.savetofile(extractfilepath(paramstr(0)) + 'Address.d00');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to listbox1.items.count - 1 do
  begin
    WinExec(PChar(IEXPLORE+' "'+listbox1.items[i]+'"'),SW_NORMAL);
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
var
  s: string;
  reg:TRegistry;
begin
  s := extractfilepath(paramstr(0)) + 'Address.d00';
  if fileexists(s) then
    listbox1.items.loadfromfile(s);
  reg:=TRegistry.create;
  reg.rootkey:=HKEY_LOCAL_MACHINE;
  reg.openkey('Software\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE',true);
  IEXPLORE:=reg.ReadString('');
  reg.closekey;
  reg.free;
end;


学习中请遵守法律法规,本网站内容均来自于互联网,本网站不负担法律责任
读取 I E 地址 地址
#1楼
发帖时间:2016-7-9   |   查看数:0   |   回复数:0
游客组