Вверх ↑
Этот топик читают: Гость
Ответов: 3889
Рейтинг: 362
#1: 2011-04-27 12:03:27 ЛС | профиль | цитата

uBrowser - складной микробраузер
спрячь в уголок, чтоб никто не уволок
Схема (доступна прямо из запущенного с любым Windows-проектом hiAsm: Правой кнопкой мыши на вкладке открытого проекта / Список Проектов / Forms and UI / WebBrowserLinkCapture)

Отдельное спасибо Tad за помощь в оптимизации и оформление схемы в пригодный для обучения вид.

Краткое описание функционала
Развитый до юзабельной программы пример практического применения перехвата нажатия на ссылки в WebBrowser
+ динамическое скрытие масштабируемых элементов управления,
+ динамическое скрытие заголовка и рамки окна (фоновый режим - поверх всех окон).
Нажимаемые в левой (сворачивающейся) панели WebBrowser ссылки и набираемые (в верхней панели) адреса URL фильтруются по маске (нижняя панель) и открываются в центральной форме WebBrowser.
Ссылки, нажимаемые с зажатой Shift ("Открыть в новом окне") фильтруются по маске и добавляются в правую панель закладок (можно сохранять и загружать из текстового файла).
Реализован перехват и добавление в панель закладок совпадающих с маской ссылок из буфера обмена. Можно полазать в любимом браузере по сайтам, накопировать ссылок на видео и смотреть их в уголке экрана, в мини-браузере, незаметно для коллег и начальства )
Не подходящие по маске URL открываются в левой панели WebBrowser.
На обе панели web-браузера можно перетаскивать поддерживаемые Internet Explorer (или его плагинами) файлы (как минимум, htm(l) и mht файлы, а также url ссылки), которые он и откроет. Таким образом можно работать с оффлайн-документацией, JavaScript утилитками, встроенными в сохранённые Вами страницы и прочим.
некоторые сферы применения программы

Чаще применяется на рабочих местах в офисах для неприметного просмотра в уголке экрана медиа-контента и информации:
Flash-игры и ролики (кстати, сильно уменьшив игровое окно можно легко выигрывать там, где важен размах движений мышкой, арканоиды, например)
Приложения SilverLight
Онлайн ActiveX приложения
Онлайн виджеты и утилитки (AJAX и иже с ним)
Видео ролики и фильмы
Потоковые радио и ТВ-вещание
онлайн WEB-камеры и системы наблюдения (некоторые работают чз ActiveX и требуют именно IE или uBrowser ;) )
Анимированные графики курсов валют, акций, погоды и т.п.
Новостные ленты, чаты (в том числе - flash-видеоконференции)
Развёрнутый вид (все вспомогательные панели)
Основной режим - фоновая работа в уголке поверх окон (только контент, панели, рамка и заголовок окна автоматом попрятались)


Известные проблемы и ограничения программы (не сильно мешающие с ней работать)

- Открытые в левой панели динамические HTML-страницы со сложными скриптами (а-ля AJAX) могут очень болезненно воспринимать перехват ссылок и сворачивание панели, вплоть до вылетания всей программы. С самого начала, по задумке заказчика, панель была рассчитана на самодельные html-списки. А вообще проблема в WebBrowser, он на такое издевательство не был расчитан)
- могут быть проблемы с IE9 (не проверялось)
- В Win7 на сплиттерах появляются совсем левые курсоры
- Надо успевать работать со вспомогательным браузером за 10 секунд (не работает у WebBrowser отслеживание фокуса, у него много что не работает, а по координатам крысу ловить пока не было повода, ибо это таки html-плейлист, а не полноценный браузер..
- В браузерах криво работают клавиатурные комбинации, например, CTRL+C Косяк WebBrowser.
- Не перехватывает открытие в новом окне по инициативе сайта Опять WebBrowser виноват)
- ссылки, открываемые по команде "Назад", снова проходят через фильтр и могут быть открыты не в том окне, что раньше (зависит от совпадения с маской)
- оставленое открытым и активным (в фокусе) сразу после запуска (без использования) приложение через несколько часов может потерять связь с браузером и отказаться открывать ссылки Выловил на некоторых ОС и версиях браузера, вероятно, утечка памяти или таймаут неактивности COM-объекта какой-нибудь, разбираться нет смысла)
- Дубликаты в панели закладок не удаляются
- окно не свернуть Предварительно, проблема в скрытии заголовка. Возврат заголовка обратно, похоже, переинициализирует обработчик команды "свернуть" на недееспособный.
ToDo list
Изначально это был простейший пример перехвата ссылок, но нет предела совершенству (исходник у Вас уже есть ;) ):
* Адресная панель и панель маски вполне могли бы быть выпадающими списками
* При старте программы мог бы загружаться список закладок по умолчанию
* В списке закладок удобно было бы переименовывать их в читаемые названия
* Удаление дубликатов и сортировка списка закладок (если появятся имена)
* Групповой выбор, групповое удаление и перетаскивание ссылок в закладках
* Вспомогательный браузер можно задерживать на экране по координатам мыши
* Сворачивать/скрывать окно альтернативным способом и прицепить иконку в трее
* Перехватывать целые группы ссылок из буфера обмена, совпадающие с маской
* Анализатор текста в буфере на предмет ссылок: копируем HTML-код вставки ролика, а ссылка из тэгов извлекается автоматом
* Глобальная клавиша "антибосс"
* Временное увеличение окна, если панели не влезают (до скрытия панелей)
* Перехват ссылок в список закладок можно озвучить
* Прилипание к краям экрана и других окон было бы совсем не лишним
карма: 1

0
Ответов: 8926
Рейтинг: 823
#2: 2011-04-27 14:00:03 ЛС | профиль | цитата
1nd1g0, [flood]эх, к нему бы ещё детектор движения за пределами рабочего стола, а то ведь начальник подкрадётся и будет подглядывать из-за плеча [/flood]
карма: 19

0
Ответов: 3889
Рейтинг: 362
#3: 2011-04-27 14:08:33 ЛС | профиль | цитата
Леонид, [flood]Шутки - шутками, а сделать вполне реально)) Например, на PIR сенсоре, на дешёвой веб-камере можно без проблем, есть развивающиеся системы распознавания лиц, чтоб высокопоставленную физиономию ни с кем не попутать[/flood]
карма: 1

0
Ответов: 1821
Рейтинг: 168
#4: 2011-04-27 15:16:23 ЛС | профиль | цитата
1nd1g0, [flood]Атвечаю (с) я месяц пишу микробраузер, который будет жрать мало виртуалки и ЗЦП. так его название такое же - uBrowse[/flood]
карма: 5

0
Ответов: 3889
Рейтинг: 362
#5: 2011-04-27 15:24:11 ЛС | профиль | цитата
sаmakacd, [flood]Я этот "браузер" целый вечер рисовал Рабочее название было 1nBrowser, могу вернуть его, если хотите) В реальности, uBrowse(r) давно уже существуют. С появлением WebKit этих браузеров расплодилось как плееров с появлением bass на HiAsm [/flood]
карма: 1

0
Ответов: 1821
Рейтинг: 168
#6: 2011-04-27 15:29:34 ЛС | профиль | цитата
[offtop]1nd1g0, [flood]да нет... ты автор тебе решать прийдётся назвать ыBrowse[/flood][/offtop]
карма: 5

0
Ответов: 3889
Рейтинг: 362
#7: 2011-04-27 15:33:41 ЛС | профиль | цитата
[flood]Нет, ну если вы - автор этого или этого, то я скромно верну рабочее название)) На чём пишете, какая платформа, какая среда, если не секрет?[/flood]
карма: 1

0
Ответов: 1821
Рейтинг: 168
#8: 2011-04-27 15:36:50 ЛС | профиль | цитата
1nd1g0, [flood]не автор сего чуда (с) а так - hiasm 4.4.185 [/flood]
карма: 5

0
Ответов: 3889
Рейтинг: 362
#9: 2011-04-27 15:56:27 ЛС | профиль | цитата
sаmakacd, [flood]Сперва так и думается, пока не доходишь до
sаmakacd писал(а):
будет жрать мало виртуалки и ЗЦП
Сразу перед глазами самописный браузер на рассыпухе 15000 элементов перед глазами встаёт Интересно было бы посмотреть, что у Вас там получается и на чём основано. У меня-то всё просто - идеология K.I.S.S. - keep it short and simple. То есть минимализм во всём. Карманный такой, складной браузер для ненавязчивого показа контента параллельно с работой в ресурсоёмких приложениях. Благодаря хитрому GUI окно можно ужать до почтовой марки (!) У начальства зрения не хватит разглядеть такое, молодые зрячие заключённые офисов оценят по достоинству )) Особенно, учитывая нехватку оперативной памяти на старом офисном парке машин, когда операмозиллахром вместе с САПР выведут машину из строя на час просто запустившись ))[/flood]
карма: 1

0
Ответов: 1821
Рейтинг: 168
#10: 2011-04-27 15:59:17 ЛС | профиль | цитата
[offtop]1nd1g0, сначала хотел что-то сделать через IE, потом FF,а сейчас изучаю WinAPI, чтобы на Inline напечатать код...[/offtop]
карма: 5

0
Ответов: 3889
Рейтинг: 362
#11: 2011-04-27 16:07:01 ЛС | профиль | цитата
sаmakacd, [flood]Честно говоря, без IE, WebKit, mozilla или другого движка, самостоятельно, браузер на API вы будете писать лет 10-15 и он будет безнадёжно устаревать каждый месяц. Думаю, Вам стоит пересмотреть целесообразность проекта, браузеров сейчас очень много, наверняка под Ваши требования какой-нибудь подойдёт. А освободившееся время приложите к чему-то новому.[/flood]
карма: 1

0
Ответов: 5446
Рейтинг: 323
#12: 2011-04-27 19:13:27 ЛС | профиль | цитата
[flood]
Вместо камеры или PIR-сенсора купите такое зеркало, и приучите себя одним глазом следить
[/flood]
карма: 1

0
Ответов: 3349
Рейтинг: 233
#13: 2011-04-27 19:20:20 ЛС | профиль | цитата
[flood]Как вариант отрастить глаза на заeылке[/flood]
карма: 1

0
Ответов: 3889
Рейтинг: 362
#14: 2011-04-27 20:20:44 ЛС | профиль | цитата
[flood]Да. И растяжку с пневмосиреной поставить по периметру. Контактный коврик постелить и битое стекло рассыпать.[/flood]
карма: 1

0
Ответов: 3851
Рейтинг: 159
#15: 2011-04-27 21:32:54 ЛС | профиль | цитата

[flood]подарить "колокольчик" (укв) [/flood]
карма: 0
начавший
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)