![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
VictorGr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.10.2006 Репутация: нет Всего: нет |
ЗДРАВСТВУЙТЕ!
У меня вопрос такой: можно ли мне программой (на VB6) получить текущий адрес (URL) открытой страницы в браузере? Честно говоря, желательно найти приёмы для всех браузеров (IE6-7, Firefox, Opera, Safari...). Такое возможно? ![]() Спасибо ![]() |
|||
|
||||
bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: нет Всего: 29 |
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Любой браузер имеет СОМ-интерфейс. Получив PID экземпляра браузера, можно запросить требуемую информацию.
VB6 не имеет штатных средств для выполнения поставленной задачи - это проблема, решаемая на уровне API. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
bom |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 329 Регистрация: 22.2.2004 Где: Казахстан, Алматы Репутация: 4 Всего: 6 |
Пример для всех окон IE:
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
bom, красиво.
А не валится, если у Shell.Application.Windows(i) нет свойства document? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
VictorGr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.10.2006 Репутация: нет Всего: нет |
bom, класс! Работает, спасибо!
А на FF, Opera такое сработает? Akina, ещё слышал о DDE. Оно вообще встроено прямо в VB. http://community.livejournal.com/ru_programming/799908.html? Для IE удалось получать URL, но только последнего (самого правого на панели задач) окна. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Вообще-то это одна из технологий взаимодействия - динамический обмен данными,- встроена в операционную систему и к какому-либо отдельному языку программирования никакого отношения не имеет. Как, впрочем, и СОМ... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
bom |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 329 Регистрация: 22.2.2004 Где: Казахстан, Алматы Репутация: 4 Всего: 6 |
Не пробовал перебирать все окна подряд. У InternetExplorer.Application это св-во имеется, но можно и подстраховаться, организовав обработчик ошибок, если что. Вряд ли. Как сказал Akina, у каждого браузера свой интерфейс взаимодействия.
Покажи код. |
||||
|
|||||
VictorGr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.10.2006 Репутация: нет Всего: нет |
Вот такой код. Получает URL самого крайнего IE. |
|||
|
||||
bom |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 329 Регистрация: 22.2.2004 Где: Казахстан, Алматы Репутация: 4 Всего: 6 |
Про DDE не знаю, поищи в MSDN
|
|||
|
||||
VictorGr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.10.2006 Репутация: нет Всего: нет |
bom, искал...
А вопрос о COM: можно ли получить объект IE (как Вы указали выше) по его HWND или по номеру процесса? Ваш способ работает на отлично, но, он достаточно "тяжёлый" для моей программы: довольно заметно, как программа притормаживает. А мне бы было достаточно получать URL активного в текущий момент окна. (Чьё hwnd и номер процесса я знаю) ![]() Искал в интернете... Но Гугль -- такая штука ![]() ![]() |
|||
|
||||
bom |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 329 Регистрация: 22.2.2004 Где: Казахстан, Алматы Репутация: 4 Всего: 6 |
Если HWND родительского окна известен, можно получить текст дочернего достаточно легко с помощью API:
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |