Link to home
Start Free TrialLog in
Avatar of zayn
zayn

asked on

Get url for all opened web pages

**** I am using Delphi 5***

If there are 5 web pages opend by intrnet Expolrer How I can Get the Url for each page when the I Make it active by clicking mouse on it
???
Avatar of Mohammed Nasman
Mohammed Nasman
Flag of Palestine, State of image

Hello

This code will give you all the links in the address bar from ie in memo box, even if you
have more than one ie window open

//===========
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Memo1: TMemo;
   procedure Button1Click(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

//Copy the text from the IE Address Bar Edit box.
function GetIEEditText(wnd: THandle; Param: Integer): Bool; stdcall;
var
 wndClass: array[0..127] of char;
begin
 //Get the object class name.
 GetClassName(wnd, wndClass, SizeOf(wndClass));
 //Is the desired object?
 if wndClass = 'Edit' then
 begin
   SendMessage(wnd, EM_SETSEL, 0, -1); //Select the whole text.
   SendMessage(wnd, WM_COPY, 0, 0);    //Copy it to the ClipBoard.
   SendMessage(Param, WM_PASTE, 0, 0); //Paste from the ClipBoard to the Memo1.
   SendMessage(Param, WM_CHAR, 13, 0); //Send ENTER to the Memo1.
   Result := False;                    //Stop searching.
 end else
   Result := True;                     //Continue searching.
end;

//Searches the ComboBox where the edit box is on.
function GetIEAddres(wnd: THandle; Param: Integer): Bool; stdcall;
var
 wndClass: array[0..127] of char;
begin
 //Get the object class name.
 GetClassName(wnd, wndClass, SizeOf(wndClass));
 //Is the desired object?
 if wndClass = 'ComboBoxEx32' then
 begin
   EnumChildWindows(wnd, @GetIEEditText, Param); //Enum the child objects.
   Result := False;                              //Stop searching.
 end else
   Result := True;                               //Continue searching.
end;

//Searchs the Internet Explorer.
function FindIExplorer(wnd: THandle; Param: Integer): Bool; stdcall;
var
 wndClass: array[0..127] of char;
begin
 //Get the object class name.
 GetClassName(wnd, wndClass, SizeOf(wndClass));
 //Is the Internet Explorer main form?
 if wndClass = 'IEFrame' then
   EnumChildWindows(wnd, @GetIEAddres, Param); //Enum the child objects.
 Result := True; //Continue searching other IExplorer windows.                      
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 //Enum all the Windows's windows. The LParam is the memo's handle.
 EnumWindows(@FindIExplorer, Memo1.Handle);
end;

end.

Best regards
Mohammed Nasman
ASKER CERTIFIED SOLUTION
Avatar of ginsonic
ginsonic
Flag of Romania image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of zayn
zayn

ASKER

ÔßÑÇð ÌÒíáÇð íÇÃÎ ãÍãÏ
how that happned?
For me look like my comment was accepted as answer .
I think that is better that zayn to contact the moderators and change this state .
Interesting is that I don't have received a notification for this granted and no points added to my expert status .
But this question is added to my history !?!?!

I come here through your comment notification, mnasman .

Regards,
Nick
I see now that in fact was zayn notification and not your's . The last one I don't received ( yet ? ).
it's strange :-/, I got notification tell there's an  answer accepted, and when I look i found yours, I will always listening to the questions ;), lol
The only way to fix this problem is to contact the moderators . Go to Community support .
I agree that my comment don't help :)

Nick
For PAQ puposes the correct answer above is from mnasman.  As I cannot change the PAQ, I will create a new question in this Topic Area and award mnasman the 200 points.

When and if this PAQ is purchased, my comment will show who actually answered the question.

mnasman, Please look in this Topic Area for a question titled Points for mnasman.

Thanks and very best regards to all,
ComTech
CS Admin @ EE
Greetings, all.

I have corrected this error by the Asker and the question to properly flow points to mnasman is now in this topic area.

Points for mnasman -->  qid=20272569

__________________________________________________________

zayn.... it helps us tremendously if you ensure that you award points to the first correct answer given.

https://www.experts-exchange.com/jsp/memberProfile.jsp?mbr=zayn

Please click you Member Profile (or the link above) and view your question history to update and finalize your old open questions.

Recap of all open today below.
# Topic Area Question Title Pts Type Date
1 Delphi web programing 50 Open 05/15/2001
2 Delphi keyboard programing  100 Open 06/03/2001
3 Delphi delphi 5 func&proc 50 Open 08/27/2001
4 Visual Basic VBA compile 150 Open 01/04/2002
5 Delphi add Toolbar to Internet exploere 100 Open      
 
Thanks, all.

EE Moderator
In my history for answered questions can be read:

3 02/25/02 0 Get url for all opened web pages PAQ