如何用delphi 在已打开的IE explore 地址栏输入URL?

解决方案 »

  1.   

    用FindWindow和FindWindowEx函数查找IE浏览器的地址栏窗口,找到以后发送WM_SETTEXT消息。// 以下是查找IE窗口地址栏的代码:
    function MyFindWindow : THandle;
    const
      // 父窗口类名数组
      A_szClassName : array [0..5] of PChar = (
        'IEFrame',
        'WorkerW',
        'ReBarWindow32',
        'ComboBoxEx32',
        'ComboBox',
        'Edit'
      );
      // 父窗口标题数组
      A_szWinName : array [0..5] of PChar = (
        nil,
        '',
        '',
        '',
        '',
        ''
      );
    var
      i : Integer;
      hLastWin : THandle;
    begin
      // 首先求得顶级父窗口
      hLastWin := FindWindow(A_szClassName[0], A_szWinName[0]);
      // 逐次用FindWindowEx函数求出各级子窗口
      for i:=1 to 5 do
      begin
        hLastWin := FindWindowEx(hLastWin, THandle(nil),
                A_szClassName[i], A_szWinName[i]);
      end;
      result := hLastWin;
    end;// 测试代码:
    procedure TForm1.Button1Click(Sender: TObject);
    var
        hLastWin : THandle;
        strUrl: String;
    begin
        hLastWin := MyFindWindow();
        strUrl := 'http://www.ccrun.com';
        SendMessage(hLastWin, WM_SETTEXT, 0, LPARAM(strUrl));
    end;