﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Веб-программирование / Веб-программирование  / Как сделать панель для IE? / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Wed, 08 Oct 2008 12:15:38 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Как сделать панель для IE?</title><link>http://www.relib.com/forums/Topic717037-9-1.aspx</link><description>Во-первых, удобнее всего это сделать на VC++. Во-вторых, это должен быть COM-объект, обязательно реализующий такие интерфесы, как IDeskBand, IInputObject, IObjectWithSite. Начать можно с визарда, создающий ATL COM.&lt;BR&gt;Для того, чтобы получить указатель на интерфейс эксплорера IWevBrowser2 (для открытия страниц и других операций), последний (IObjectWithSite) должен иметь две функции:&lt;BR&gt;STDMETHOD(SetSite)(IUnknown *pUnkSite);&lt;BR&gt;STDMETHOD(GetSite)(REFIID riid, void **ppvSite);&lt;BR&gt;Они вызываются IE. IUnknown в SetSite на самом деле IInputObjectSite.&lt;BR&gt;В SetSite пишем (CComQIPtr&amp;lt;IWebBrowser2&amp;gt; m_spWebBrowser2 - член класса, указатель на IWebBrowser2)&lt;BR&gt;if (!m_spWebBrowser2)&lt;BR&gt;{&lt;BR&gt;····CComQIPtr&amp;lt;IServiceProvider&amp;gt; spSrvProv = pUnkSite;&lt;BR&gt;····if (spSrvProv)&lt;BR&gt;········spSrvProv-&amp;gt;QueryService(IID_IWebBrowserApp,&lt;BR&gt;IID_IWebBrowser2, (void**)&amp;amp;m_spWebBrowser2);&lt;BR&gt;····if (m_spWebBrowser2)&lt;BR&gt;····{&lt;BR&gt;········// здесь можно установить&lt;BR&gt;IConnectionPoint-&amp;gt;Advise на события, типа OnDocumentComplete&lt;BR&gt;····}&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;Это основные моменты, все остальное как обычно для COM объектов.&lt;BR&gt;&lt;BR&gt;С уважением, Алексей.</description><pubDate>Thu, 02 Aug 2001 11:47:00 GMT</pubDate><dc:creator>x-mailer</dc:creator></item><item><title>RE: Как сделать панель для IE?</title><link>http://www.relib.com/forums/Topic717037-9-1.aspx</link><description>Нет, не приходилось, но всегда интересовался как оно там функционирит...</description><pubDate>Fri, 27 Jul 2001 18:48:00 GMT</pubDate><dc:creator>Alexey</dc:creator></item><item><title>RE: Как сделать панель для IE?</title><link>http://www.relib.com/forums/Topic717037-9-1.aspx</link><description>А тебе уже приходилось писать панель для IE?</description><pubDate>Wed, 25 Jul 2001 18:15:00 GMT</pubDate><dc:creator>.Remix</dc:creator></item><item><title>RE: Как сделать панель для IE?</title><link>http://www.relib.com/forums/Topic717037-9-1.aspx</link><description>Все описано у произвоидетеля...&lt;BR&gt;&lt;BR&gt;http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/ext/overview/overview.asp&lt;BR&gt;&lt;BR&gt;Будут вопросы, пиши, задачка интересная :)</description><pubDate>Wed, 25 Jul 2001 00:17:00 GMT</pubDate><dc:creator>Alexey</dc:creator></item><item><title>Как сделать панель для IE?</title><link>http://www.relib.com/forums/Topic717037-9-1.aspx</link><description>Как сделать панель для IE вроде Яndex.Бара? Там нужно писать DLL, регистрировать ее, но что должно быть в DLL?</description><pubDate>Fri, 20 Jul 2001 06:36:00 GMT</pubDate><dc:creator>.Remix</dc:creator></item></channel></rss>