下列代码用来获得浏览器的网址:
procedure TForm1.Button1Click(Sender: TObject);
var
DDE: TDdeClientConv;
begin
DDE := TDdeClientConv.Create(self);
if DDE.SetLink( 'Iexplore' ,'WWW_GetWindowInfo') then
Edit1.Text := DDE.RequestData( '0xFFFFFFFF')
else
ShowMessage( 'IE没有运行');
DDE.Free;
end;结果Edit1中显示的是:
"http://www.baidu.com/","http://www.baidu.com/"
不是百度的网址(应该是http://www.baidu.com/)。
procedure TForm1.Button1Click(Sender: TObject);
var
DDE: TDdeClientConv;
begin
DDE := TDdeClientConv.Create(self);
if DDE.SetLink( 'Iexplore' ,'WWW_GetWindowInfo') then
Edit1.Text := DDE.RequestData( '0xFFFFFFFF')
else
ShowMessage( 'IE没有运行');
DDE.Free;
end;结果Edit1中显示的是:
"http://www.baidu.com/","http://www.baidu.com/"
不是百度的网址(应该是http://www.baidu.com/)。
procedure TForm1.Button1Click(Sender: TObject);
var
classname: array[0..255] of char;
addr: array[0..255] of char;
edith,hwnd: THandle;
begin
hwnd:=findwindow('IEFrame',nil);
GetClassName(hwnd,classname,256);
if classname = 'IEFrame' then
begin
edith:= findwindowex(hwnd,0,'WorkerW',nil);
edith:= findwindowex(edith,0,'ReBarWindow32',nil);
edith:= findwindowex(edith,0,'ComboBoxEx32',nil);
sendmessage(edith,wm_gettext,256,Integer(@addr));
Form1.Memo1.Lines.Add(addr);
end;end;
如果只想取一个,即当前的网址,上面的代码也行