Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.20;
Скачать: CL | DM;

Вниз

получение IWebBrowser2 из чужой программы, возможно ли?   Найти похожие ветки 

 
hattak ©   (2010-11-14 23:06) [0]

Добрый вечер!
Есть программа написанная на MSVC, в ней используетcя компонент, WebBrowser, как я понимаю, аналог TWebBrowser дельфей (я с С++ не знаком, поэтому предпологаю, что это аналог).
Так вот, можно ли как-то управлять этой программой, ну самое оптимальное получить этот ВебБраузер в ней как IWebBrowser2 ... ?
На сколько я понимаю, не зависимо от того на чём написана программа, в ней по сути всё равно используется InternetExplorer, только в обёртке. Так вот вопрос, можно ли получить к нему доступ (скажем, зная hwnd главного окна)
Заранее спасибо!


 
Сергей М. ©   (2010-11-14 23:38) [1]

Даже если ты получишь ссылку на интерфейс IWebBrowser2, воспользоваться им в СВОЕЙ программе ты не сможешь, потому что ссылка эта валидна только в адр.пространстве процесса, создавшего этот объект.
Поэтому, если чужая программа не предусматривает соглашений по внешнему доступа к своим объектам, без внедрения своего кода в ее адресное пространство не обойтись. Сложного в этом ничего нет, но надо отдавать себе отчет, что на такие в целом и общем безобидные и вполне документированные программные выкрутасы некоторые файрволы/антивирусы а-ля Аутпост реагируют весьма болезненно)


 
hattak ©   (2010-11-15 00:01) [2]

я достучался до хендла объекта браузера)))

h := FindWindow("ATL:004563D8", nil);
if h <> 0 then
  begin
   h := FindWindowEx(h,0,"ATL:456588",nil);
   h := FindWindowEx(h,0,"ATL:4561c0",nil);
   h := FindWindowEx(h,0,"Shell Embedding",nil);
   h := FindWindowEx(h,0,"Shell DocObject View",nil);
   h := FindWindowEx(h,0,"Internet Explorer_Server",nil);
 end

но если интерфейсом воспользоваться нельзя, тогда косяк конечно, внедряться никуда не хочется, проблем с антивирусами у пользователей не должно быть потом)

в принципе программа поддерживает внешние плагины и даже известен интерфейс, на на сях, а сама она не является com"ом, хех, печально))


 
Сергей М. ©   (2010-11-15 09:37) [3]


> известен интерфейс, на на сях


Не думаю что этот сёвый плагин-интерфейс так уж сложно прикрутить к дельфийскому коду



Страницы: 1 вся ветка

Текущий архив: 2011.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1289597392
Юрий
2010-11-13 00:29
2011.02.20
С днем рождения ! 13 ноября 2010 суббота


6-1234984194
d@vinchi
2009-02-18 22:09
2011.02.20
Как прослушивать определенный ТСР порт?


15-1289390911
Kerk
2010-11-10 15:08
2011.02.20
Как такое решить?


2-1291209781
Демерго
2010-12-01 16:23
2011.02.20
Русский шрифт в Memo


15-1289544812
wl
2010-11-12 09:53
2011.02.20
Сколько у Вас весит папка с торрентами?