下列代码用来获得浏览器的网址:
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/)。

解决方案 »

  1.   


    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;
    如果只想取一个,即当前的网址,上面的代码也行