我想获得IE地址栏中的地址,怎么办啊???

解决方案 »

  1.   

    如果有几个IE窗口,你要得哪个?ALL?
    那就太深奥了,嗯,待大虾来吧。
      

  2.   

    以前写过,不过太久了,实在是记不得了
    不要我拼了老命,也帮你调好,再送给你啊,不过不记得了
    好像是这样:
      得到前台窗口的Handle
      Attach那个Handle的进程,
      然后得到Focus,然后得到Text,就这样。
    人老了,记忆不中了
      

  3.   

    发送WM_GETTEXT消息function EnumChildWindowsProc(hwnd: Integer; lparam: Longint): Boolean; stdcall;
    var
    buffer: array[0..255] of char;
    begin
    Result := True;
    GetClassName(hwnd,buffer,256);
    if StrPas(Buffer)='Edit' then
    begin
    SendMessage(hwnd,WM_GETTEXT,256,lparam);
    Result:=False;
    end;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
    hwnd: Integer;
    buffer: array[0..255] of char;
    begin
    hwnd := FindWindow('IEFrame',nil);
    if hwnd<> 0 then
    begin
    EnumChildWindows(hwnd,@EnumChildWindowsProc,Integer(@buffer[0]));
    Caption := StrPas(buffer);
    end;
    end;注意根据不同的IE版本做些修改!