Получение URL из окна браузера

Тема в разделе "WASM.WIN32", создана пользователем n0name, 22 ноя 2004.

  1. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Собственно сабж.

    Мне надо заменить URL вводимый пользователем на мой.

    Не подскажите как это реализовать?
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Хуки может быть?
     
  3. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    Вот кусок кода получения URL'а в IE. Все делал в dll'ке, подвешивая ее через хуки.
    Код (Text):
    1.  
    2. ...
    3. .data
    4.     ie1 db  "WorkerW",0            ;/
    5.     ie2 db  "ReBarWindow32",0      ;|
    6.     ie3 db  "ComboBoxEx32",0       ;|для определения URL'а в IE
    7.     ie4 db  "ComboBox",0           ;|
    8.     ie5 db  "Edit",0               ;\
    9.     AhWnd   dd  0
    10.         hEditWnd dd       0
    11.     lenUrl      dd  0
    12.     strUrl      db  256 dup (0)
    13.     lURL        db  0
    14. ...
    15. .code
    16. ...
    17. ;в AhWnd находится заголовок активного окна
    18.     invoke  FindWindowEx,AhWnd,0,offset ie1,NULL
    19.     invoke  FindWindowEx,eax  ,0,offset ie2,NULL
    20.     invoke  FindWindowEx,eax  ,0,offset ie3,NULL
    21.     invoke  FindWindowEx,eax  ,0,offset ie4,NULL
    22.     invoke  FindWindowEx,eax  ,0,offset ie5,NULL
    23.     mov     hEditWnd,eax                                ;<-- здесь теперь у нас hWnd Edit'а в котором URL
    24.     invoke  SendMessage,hEditWnd,WM_GETTEXTLENGTH, 0, 0 ;<-- здесь получаем длину URL'а
    25.     add eax,1    ;|прибавляем 1
    26.     mov lenUrl,eax
    27.     invoke  SendMessage,hEditWnd,WM_GETTEXT,lenUrl,addr strUrl ;<-- в strUrl у нас теперь URL
    28.         szText  szURL,"URL: %s",0
    29.     invoke  wsprintfA,addr lURL,addr szURL,addr strUrl
    30. ...
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Хуки это хорошо.

    Но мне надо саменить URL во время запроса к серверу.

    То есть ты в браузере пишешь www.microsoft.ru, а отсылаешься на www.wasm.ru.



    Я думаю это можно реализовать с помощью перехвата

    w2_32.dll->send.
     
  5. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    а может w2_32.dll->connect?
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Да, connect. Это я ошибся :)
     
  7. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    Тут на форуме где-то даже сорцов парочка была с перехватом ф-ций из wsock32.dll вроде. Немного подисправив можно приспособить под твои нужды :)