![]() |
![]() |
Bokul |
![]() ![]()
Сообщение
#1
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Опишу, что мне надо:
надо, что бы при нажатию на комбинацию клавиш моя прога, которая раньше сидела в трее (можна даже без трея, просто чтобы она могла среагировать на нажатия клавиш. Вроде хук для этого надо ставить...), могла проанализировать код поточной Html страницы в браузере( Internet Explorer), вытянуть нужные ссылки, и скинуть в буфер обмена, реализованный в предыдущей теме . Трей и хуки можно оставить на потом, а сейчас же хотелося бы разобраться с браузером. Основная сложность это узнать Html. Я знаю, что все просматриваемое в браузерах сохраняется на винд, но определить, где он сохраняет все эти данные невозможно, так как Internet Explorer постоянно генерирует новые папки в Temporary Internet Files - система безопасности. Честно говоря, я просто не знаю куда тыкаться и что для этого надо знать. Может меня спасет WinApi? Покажите, пожалуйста, мне путь. Сообщение отредактировано: Bokul - 18.09.2006 7:41 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
![]() ![]() |
Bokul |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата Смотри на картинки... И в первом, и во втором случае я вижу перед собой почти одно и то же. Но с точки зрения системы - это СОВЕРШЕННО разные ситуации, и если в одном случае я бы мог воспользоваться GetActiveWindow, то в другом без EnumWindows не обойтись... Может я не понимаю полностью EnumWindows... Вот, например, я зашел на сайт и открыл 5 окон с разными фильмами, но прочитав краткое содержания о каждом, захотел скачать только один. Окно с ним остается перед моими глазами - активное, другие окна с оставшимся 4 фильмами не закрыты. Так вот, EnumWindows позволяет найти только этот фильм? Если да, то никаких проблем. А по-поводу GetActiveWindow и второй картинки - если окно с IE не активное, то можно вывести сообщение о этом. Вопрос другой - когда я буду вызывать свою прогу, сидящею в трее, по комбинации клавиш, какое приложения будет активное? Моя программа или IE? И еще один вопрос - можно ли сделать так, чтобы прога не имела своего окна, только иконку в трее? Цитата 1) либо писать DLL на Дельфи, которая будет вытягивать линки из нужной странички так, как я показал в посте №4, и сохранять их в файл, а потом уже через FPC открывать файл и делать с линками все, что захочется ----------------------------- Я бы выбрал первый вариант... Пусть будет первый, я только за. Но Дельфи не знаю, DLL писать не умею. Дельфи 7 есть в наличие. Цитата Смотри здесь: "DRKB -> Системные функции и WinAPI -> Delphi и Windows API (Статья)" ... Там есть объяснение основ работы с WinAPI. Прочитал. Кидайте еще инфу по теме: про DLL, WinAPI и т.п. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Bokul, сегодня явно не твой день
![]() Цитата(Bokul @ 17.09.2006 18:20) EnumWindows позволяет найти только этот фильм? Нет... EnumWindows будет искать ВСЕ копии Internet Explorer-а, которые запущены... Значит, придется делать GetActiveWindow... Цитата(Bokul @ 17.09.2006 18:20) Вопрос другой - когда я буду вызывать свою прогу, сидящею в трее, по комбинации клавиш, какое приложения будет активное? Моя программа или IE? Есд=ли программа будет активизироваться, НЕ показывая своего окна, или показывая его, но не делая активным, то активным останется то, что и было ранее, т.е. IE...Цитата(Bokul @ 17.09.2006 18:20) И еще один вопрос - можно ли сделать так, чтобы прога не имела своего окна, только иконку в трее? Можно, только на самом деле это НЕ "прога не имеет окна, а только иконку", а "программа имеет окно (если этого не будет, она просто не запустится под Windows), и держит его невидимым, и иконку в трее"А теперь - по поводу первой фразы этого сообщения... Попробовал я сделать DLL, и... Не работает это из консольного режима... Т.е. тебе придется писать программу в оконном режиме, чтобы использовать DLL... Я даже проверил программу в Дельфи без DLL, но в консоли, и это не работает. В принципе, ничего страшного, объем кода чуть увеличится, зато все преимущества Windows будешь использовать на полную катушку... Теперь встречный вопрос... Если у тебя стоит D7, почему не пишешь на ней? Ты много теряешь, ибо OLE как ты видел - ОЧЕНЬ мощная штука (к сожалению, пока недоступная в FPC), меньше чем в 10 строк помещается процедура, выдирающая линки с любой страницы... |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 23:01 |