Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Включение/отключение картинок в IE (C#)

36K
19 февраля 2008 года
lex-studio
1 / / 19.02.2008
Привет.
Немного о себе ... Неделю назад обзавёлся идеей сделать тулбар для IE, на котором будет находиться одна кнопка. Задача этой кнопки включать и отключать картинки в IE. С реализацией тулбара проблем не было, а вот карнитки никак не хотят включаться и отключаться .

Начнём с тестового приложения, а именно с компонента System.Windows.Forms.WebBrowser. Создал форму, кинул на неё компонент WebBrowser и одноу кнопку. Немного кода:

private void button1_Click(object sender, EventArgs e)
{
IOleObject ole = webBrowser1.ActiveXInstance as IOleObject;
ole.SetClientSite(new DownloadController());
webBrowser1.Navigate(@"http://google.ru");
}

Класс DownloadController реализует интерфейс IOleClientSite и у него есть нужный нам метод:
[DispId(DISPID_AMBIENT_DLCONTROL)]
public virtual int IDispatchInvokeHandler()
{
return BrowserOptions.ShowImages;
}

Всё работает на УРА!

Теперь собственно о проблеме ... Тоже самое теперь я пытась сделать внутри COM сервера в методе SetSite:

using SHDocVw;
...
public virtual void SetSite(Object pUnkSite)
{
_IServiceProvider sp = pUnkSite as _IServiceProvider;
Guid guid = ExplorerGUIDs.IID_IWebBrowserApp;
Guid riid = ExplorerGUIDs.IID_IUnknown;

object w;
sp.QueryService(ref guid, ref riid, out w);

// В этом месте пытаюсь получить IOleObject различными способами, ничего не получается

Explorer = (WebBrowserClass)Marshal.CreateWrapperOfType(w as IWebBrowser, typeof(WebBrowserClass));
}

Внимание вопрос! (с) что-где-когда
Как получить интерфейс IOleObject в выше приведённом примере? Есть ли другие способы программно включить/отключить картинки в IE? Язык C# — Обязательное требование.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог