Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > IE


Автор: Hitman_yg 18.7.2003, 07:42
Есть окно Интернет Експлорера. Есть его Хендл. Вопрос: как из своей программы получить адрес веб страницы, которая открыта в данный момент. Заранее благодарен.

Автор: p0s0l 18.7.2003, 14:18
В FAQ где-то видел такое:
Цитата
uses windows, ddeman, ......

function Get_URL(Servicio: string): String;
var
Cliente_DDE: TDDEClientConv;
temp:PChar; 
begin
  Result := '';
  Cliente_DDE:= TDDEClientConv.Create( nil );
  with Cliente_DDE do
      begin
        SetLink( Servicio,'WWW_GetWindowInfo');
        temp := RequestData('0xFFFFFFFF');
        Result := StrPas(temp);
        StrDispose(temp);  //<<-Предотвращаем утечку памяти
        CloseLink;
      end;
    Cliente_DDE.Free;
end;

procedure TForm1.Button1Click(Sender);
begin
showmessage(Get_URL('Netscape'));
    или
showmessage(Get_URL('IExplore'));
end;

Автор ответа: Song


Автор: Hitman_yg 18.7.2003, 23:22
Да я тоже видел. И по другому видел. Но этот вариант возвращает УРЛ окна, которое было открыто последним, что не совсем то, что мне нужно. А другой вфще нерабочий...

Автор: p0s0l 19.7.2003, 13:32
Попробуй сделать это с помощью просмотра всех дочерних окон IE и если окно имеет класс
Edit или ComboBox(Ex) то узнай текст окна с помощью сообщений EM_GETLINE или CB_GETLBTEXT.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)