Использование установленных в ОС браузеров из программы

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 28.10.2022 16:38:51

Суть вопроса: есть ли возможность получить полнофункциональный доступ к движкам установленных в системе браузеров? ( Возможно когда-то уже спрашивал но "воз и ныне там " )
( то что описано тут Про интеграцию браузера... не годится по причине того что импортирует не более менее современный Microsoft Edge а некую непонятную эмуляцию древнего Интернет Эксплорера ) Разумеется есть fpCEF3 и CEF4 но тащить минимум 200 мб ( 50 в архиве ) для однократного опционально использования в программе размером около 10-20-ти Мб (ИМХО) очень скверный тон.

Ps
Возможно решением будет аналог fpCEF3 и CEF4 меньшего размера, "захват окна" (или "удочерение окна" хотя именно с браузерами это фукус упроно не проходит ) произвольного браузера запущеного в "теневом режиме" .
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение sts » 28.10.2022 17:28:45

К сожалению концепция компонентной ОС (OLECOM) продвигаемая Микрософт провалилась - слишкомсложно - общее падение уровня квалификации программистов с 90х, опернсорс в кроссплатформенность и т.п.
Увы - придется таскать костыли. Ну или начать компанию по принуждению, чтоб в каждой ОС была установлена либа встраиваемого хрома.

Добавлено спустя 5 минут 55 секунд:
А чем дальше тем хуже, сейчас считается нормальным и даже привильным что у приложения своя копия ОС
sts
постоялец
 
Сообщения: 415
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Использование установленных в ОС браузеров из программы

Сообщение RRYTY » 28.10.2022 20:58:01

Alex2013 писал(а): Суть вопроса: есть ли возможность получить полнофункциональный доступ к движкам установленных в системе браузеров? ( Возможно когда-то уже спрашивал но "воз и ныне там " ) ...


Движок любой программы полнофункционально недоступен всем остальным программам. Непонятна сама суть вопроса.
RRYTY
постоялец
 
Сообщения: 187
Зарегистрирован: 25.12.2021 10:00:32

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 28.10.2022 22:27:55

RRYTY писал(а):. Непонятна сама суть вопроса.

Попробую объяснить иначе ...
Браузеры УЖЕ СТОЯТ в системе и по идее включают в себя совершенно то же набор библиотек что требует поделка типа CEF4 ( Я кстати буквально сегодня пытался продолжить свой экзешник юзающий CEF4 в каталог chrome-win кое что совпало кое что нет ( разные версии движка ) но идея явно рабочая структура "хромо-пака" совпадает почти на 100% ) Отсюда мысль программа может потребовать скачать или "хромо-пак" или найти в системе "готовый" браузер и просто "прицепится" к нему . ( Это кстати отлично решит проблему освежения версий "хромо-пака")

Хотя разумеется это "отверточный вариант " и красивее сделать тоже самое через некий OLE/COM - подобный интерфейс или программу-лаунчер .
Зы
Насчет программы-лаунчера : я в своей программе успешно применяю что-то вроде этого
windows.SetParent(MyForm .Handle,WorkPanel.Handle);
Получая "MDI интерфейс" в "стиле UWP" практически одной строчкой кода .
Было
Изображение
Стало
Изображение

Но windows.SetParent может работать и с "чужими окнами " так что проблема только одна нужно получить "рабочий Handle" браузера.

Добавлено спустя 2 часа 13 минут 33 секунды:
Хм нашел вот такую штуку WebView4Delphi (Якобы на основе WebView2 что юзает Microsoft Edge )
https://github.com/salvadordf/WebView4Delphi
(https://learn.microsoft.com/en-us/micro ... ew2browser)
https://winsoft.sk/webview.htm
Последний раз редактировалось Alex2013 29.10.2022 01:29:50, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение Sharfik » 29.10.2022 00:58:15

Пожалейте пользователей. Цепляться к установленному неизвестно кем, как и какому браузеру это брать в себя его баги. В Windows есть предварительный просмотр документов, можно через сгенерировать ActiveX через библиотеку системы и получить смотрелку чего либо. Но это все завязано на системные настройки.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 766
Зарегистрирован: 20.07.2013 01:04:30

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 29.10.2022 02:06:10

Sharfik писал(а):Пожалейте пользователей. Цепляться к установленному неизвестно кем, как и какому браузеру это брать в себя его баги. В Windows есть предварительный просмотр документов, можно сгенерировать через ActiveX через библиотеку системы и получить смотрелку чего либо. Но это все завязано на системные настройки.

1 Согласен решение не лучшее .
2 "В Windows есть предварительный просмотр документов, можно сгенерировать через ActiveX" это юзается но это НЕ БРАУЗЕР (точнее эмуляция древнего IE )
Крайне правое окошко скрина "режима отладки" это именно эта штука ("ошибками сценария" так и сыплет )
Изображение
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение RRYTY » 31.10.2022 06:08:58

Alex2013 писал(а):... Браузеры УЖЕ СТОЯТ в системе ...


Нет и не будет никогда браузера, к которому сможет прицепиться программа, ни на одном ПК, кроме разработчика. И операционки, в которой этот изврат заработал бы, не будет. Значит, у всех остальных не сможет. Да и у разработчика этот браузер будет до первого обновления.
RRYTY
постоялец
 
Сообщения: 187
Зарегистрирован: 25.12.2021 10:00:32

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 31.10.2022 09:12:35

https://it-blackcat.blogspot.com/2020/0 ... owser.html

"Встраиваем Microsoft Edge"
S_Gur
постоялец
 
Сообщения: 130
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение RRYTY » 31.10.2022 15:23:13

S_Gur писал(а):"Встраиваем Microsoft Edge"


По-логике, это только Windows 10 с установленной припаркой (ни один пользователь эту шляпу надевать не станет).
RRYTY
постоялец
 
Сообщения: 187
Зарегистрирован: 25.12.2021 10:00:32

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 31.10.2022 16:10:20

Если интересно...
TestBin.7z 53мб
Хром-пак старый, браузер примитивный, но интересна сама возможность "опциональной интеграции" (это когда я сделаю динамическую загрузку DLL но это не проблема). В это версии видно "моргание" лишнего окна и есть небольшие накладки с масштабированием
Основной режим Тест2 ( Встроенный браузер )
Дополнительный режим Тест ( в отдельном окне )
Нормально работает или то или другое "вместе " (Можно нажать Тест а потом два раза Тест2 ) тоже фурычит но не очень красиво.
Последний раз редактировалось Alex2013 01.11.2022 15:11:05, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 31.10.2022 19:05:06

RRYTY писал(а):
S_Gur писал(а):"Встраиваем Microsoft Edge"


По-логике, это только Windows 10 с установленной припаркой (ни один пользователь эту шляпу надевать не станет).


По логике это любая винда, на которой в принципе возможно установить Edge. Из припарок там одна-единственная DLL, кладущаяся рядом с экзешником. По иронии судьбы я именно этим и занимаюсь последние 3 дня, пока всем доволен. Честно говоря, я не особо разбирался, но, по-моему, у Edge нет особых ограничений на версию виндов - вроде как даже на семерку можно установить

https://blogs.embarcadero.com/new-in-ge ... er-updates
S_Gur
постоялец
 
Сообщения: 130
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 31.10.2022 22:43:13

S_Gur писал(а):
RRYTY писал(а):
S_Gur писал(а):"Встраиваем Microsoft Edge"


По-логике, это только Windows 10 с установленной припаркой (ни один пользователь эту шляпу надевать не станет).


По логике это любая винда, на которой в принципе возможно установить Edge. Из припарок там одна-единственная DLL, кладущаяся рядом с экзешником. По иронии судьбы я именно этим и занимаюсь последние 3 дня, пока всем доволен. Честно говоря, я не особо разбирался, но, по-моему, у Edge нет особых ограничений на версию виндов - вроде как даже на семерку можно установить

https://blogs.embarcadero.com/new-in-ge ... er-updates


"одна-единственная DLL" Эта что-ли? WebView2Loader.dll У меня не работает ни 64-х ни 32-х разрядная версия демок.
Примеры брал отсюда TWebBrowser.zip
Microsoft EdgeВерсия 107.0.1418.26 (Официальная сборка) (64-разрядная версия)
Не требует обновления .

Добавлено спустя 16 минут 6 секунд:
S_Gur писал(а):по-моему, у Edge нет особых ограничений на версию виндов - вроде как даже на семерку можно установить

А Хром-пак по идее работает даже на XP . :idea:
А эта поделка вообще где угодно работать может MicrobIE001.7z
(Жаль сайты уже все не читаются без ошибок, а мне как назло нужно парсить самый "адский модерн" пиратского видео )
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 31.10.2022 23:35:28

Alex2013, честно скажу, на Лазарусе я еще не пробовал, пока работаю в Delphi. Там все фунциклирует с полпинка - как на VCL, так и на FMX. Тем не менее, я не спорю, что есть более удобные варианты - тот же хромиум. Но, во-первых - полный комплект хромиумного варианта вместе с дополнительными файлами весит около 300 метров, тогда как VCL-версия эджевского варианта вместе с отладочной информацией всего 14 плюс меньше 140 килобайт dll, а во-вторых, тема данного топика звучит вполне конкретно: "Использование установленных в ОС браузеров". Я, собственно, отвечал только на этот вопрос
S_Gur
постоялец
 
Сообщения: 130
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 31.10.2022 23:39:39

Вообщем "ну его в баню" для активации webview2 нужно качать 123 мегабайта инсталляции с microsoft.com
( в сколько оно еще распаковывается неизвестно сейчас гляну !)
https://developer.microsoft.com/en-us/m ... /webview2/

Зы
Примеры для лазаря есть тут
https://winsoft.sk/download/webview.exe
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 01.11.2022 00:03:19

Я сажал из GetIT (не уверен, что качалось 123 метра, но спорить не буду), но у меня сложилось впечатление, что он был нужен только для того, чтобы посадить в палитру компонент TEdgeBrowser. Я пробовал использовать обычный TWebBrowser (кстати, TEdgeBrowser есть только под VCL), установив его Engine в EdgeOnly. С лежащей рядом с экзешником dll все работает также стабильно - как под 32, так и под 64 бита. Если интересно, могу прислать тестовый проект (под Delphi, разумеется)
S_Gur
постоялец
 
Сообщения: 130
Зарегистрирован: 30.12.2018 22:17:42

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 79

Рейтинг@Mail.ru