Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB6 > Получение текущего URL из браузера |
Автор: VictorGr 20.7.2007, 17:44 |
ЗДРАВСТВУЙТЕ! У меня вопрос такой: можно ли мне программой (на VB6) получить текущий адрес (URL) открытой страницы в браузере? Честно говоря, желательно найти приёмы для всех браузеров (IE6-7, Firefox, Opera, Safari...). Такое возможно? ![]() Спасибо ![]() |
Автор: bartram 20.7.2007, 17:47 | ||
|
Автор: Akina 20.7.2007, 19:08 |
Любой браузер имеет СОМ-интерфейс. Получив PID экземпляра браузера, можно запросить требуемую информацию. VB6 не имеет штатных средств для выполнения поставленной задачи - это проблема, решаемая на уровне API. |
Автор: bom 21.7.2007, 13:22 | ||
Пример для всех окон IE:
|
Автор: Akina 22.7.2007, 18:35 |
bom, красиво. А не валится, если у Shell.Application.Windows(i) нет свойства document? |
Автор: VictorGr 22.7.2007, 19:06 |
bom, класс! Работает, спасибо! А на FF, Opera такое сработает? Akina, ещё слышал о DDE. Оно вообще встроено прямо в VB. http://community.livejournal.com/ru_programming/799908.html? Для IE удалось получать URL, но только последнего (самого правого на панели задач) окна. |
Автор: Akina 22.7.2007, 19:25 |
Вообще-то это одна из технологий взаимодействия - динамический обмен данными,- встроена в операционную систему и к какому-либо отдельному языку программирования никакого отношения не имеет. Как, впрочем, и СОМ... |
Автор: VictorGr 23.7.2007, 22:34 | ||
Вот такой код. Получает URL самого крайнего IE. |
Автор: bom 24.7.2007, 02:28 |
Про DDE не знаю, поищи в MSDN |
Автор: VictorGr 24.7.2007, 02:42 |
bom, искал... А вопрос о COM: можно ли получить объект IE (как Вы указали выше) по его HWND или по номеру процесса? Ваш способ работает на отлично, но, он достаточно "тяжёлый" для моей программы: довольно заметно, как программа притормаживает. А мне бы было достаточно получать URL активного в текущий момент окна. (Чьё hwnd и номер процесса я знаю) ![]() Искал в интернете... Но Гугль -- такая штука ![]() ![]() |
Автор: bom 24.7.2007, 17:59 | ||
Если HWND родительского окна известен, можно получить текст дочернего достаточно легко с помощью API:
|