function IE_URLS(Handle: THandle; ts: TStrings): boolean; stdcall;
var
IE, h: THandle;
Buffer: array[0..max_path] of char;
begin
SendMessage(Handle, WM_GETTEXT, max_path, integer(@Buffer));
IE := FindWindow('IEFrame', Buffer);
if IE > 0 then begin
h := FindWindowEx(IE, 0, 'WorkerW', nil);
if h = 0 then h := FindWindowEx(IE, 0, 'WorkerA', nil);
if h > 0 then begin
h := FindWindowEx(h, 0, 'ReBarWindow32', nil);
if h > 0 then begin
h := FindWindowEx(h, 0, 'ComboBoxEx32', nil);
if h > 0 then begin
SendMessage(h, WM_GETTEXT, max_path, integer(@Buffer));
ts.add(Buffer);
end;
end;
end;
end;
result := true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Listbox1.items.clear;
EnumWindows(@IE_URLS, LParam(Listbox1.Items));
end;