Отключить контекстное меню в WebBrowser в WPF [дубликат]

У меня есть приложение WPF, которое будет работать в киоске на ПК с сенсорным экраном. Приложение работает в полноэкранном режиме, чтобы скрыть ОС. На одной из моих страниц у меня есть элемент управления WebBrowser, который позволяет пользователю просматривать некоторые веб-страницы (навигация ограничена некоторыми страницами). Поскольку компьютер будет размещен в общедоступном месте, я не должен позволять пользователю доступ к операционной системе. Дело в том, что сенсорный экран позволяет щелкнуть правой кнопкой мыши в веб-браузере, что в конечном итоге приводит к появлению панели задач ... не очень хорошо ...!

Я безуспешно пытался отключить это контекстное меню в течение последних дней. В основном, где я сейчас нахожусь:

  • Добавлена ​​ссылка COM на SHDocVw.dll для получения интерфейса IWebBrowser2 (необходим для отключения запуска новых окон.

      [ComImport, InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] 
     [Guid ("6d5140c1-7436-11ce-8034-00aa006009fa")] 
    внутренний интерфейс IServiceProvider 
     { 
     [return: MarshalAs (UnmanagedType.IUnknown)] 
    объект QueryService (ref Guid guidService, ref Guid riid); 
    } 
    статический только для чтения Guid SID_SWebBrowserApp = новый Guid ("0002DF05-0000-0000-C000-000000000046"); 
     
  • Получить интерфейс IWEbBrowser2

      IServiceProvider _serviceProvider = null; 
     
    if (_browser.Document! = null) 
     {
     _serviceProvider = (IServiceProvider) _browser.Document; 
     
    Guid _serviceGuid = SID_SWebBrowserApp; 
    Guid _iid = typeof (SHDocVw. IWebBrowser2) .GUID; 
     
    SHDocVw.IWebBrowser2 _webBrowser = (SHDocVw.IWebBrowser2) _serviceProvider.QueryService (ref _serviceGuid, ref _iid); 
     
  • И попробуйте отключить контекстное меню в документе.

      HTMLDocument doc = _webBrowser.Document as HTMLDocument; 
    mshtml.HTMLDocumentEvents2_Event ev = doc as mshtml.HTMLDocumentEvents2_Event; 
     
    ev.oncontextmenu + = (arg) => {return ложный; }; 
     

Пока безуспешно ... есть идеи?

Заранее спасибо.

6
задан BoltClock 1 April 2011 в 05:08
поделиться