Як використовувати настроюваний контекстного меню браузера Internet Explorer, щоб відкрити зображення в новій вкладці


ОСНОВНІ ВІДОМОСТІ


Приклад демонструє, як відкрити зображення в новій вкладці налаштувати контекстного меню браузера Internet Explorer. Це приклад, містить такі функції:
  • Додає записи стандартні контекстного меню Internet Explorer.
  • Зміни уInternet Explorer стандартні контекстного меню, за допомогою об'єкти модуля підтримки браузера.
  • Розгортання настроюваних контекстного меню браузера Internet Explorer
Примітки
  • Браузер Internet Explorer 8, дає змогу нового ефективного підходу називається корисна можливість або дії, щоб додати запис в меню браузера Internet Explorer. Блоковані є полегшення у використанні прискорювачі копіювати інформацію з однієї веб-сторінки, на інший. Проте додавати записи у браузері Internet Explorer стандартного меню все ще спосіб працює на локальному комп'ютері.
  • Якщо ви змінити в Internet Explorer стандартного меню Helper Object браузера (BHO), використовувати одну надбудову застосунку в той час, скасувати IDocHostUIHandler інтерфейсу. Якщо використовується декілька надбудови застосунків, інсталяція програми можна легко конфлікт з іншим. Також можна створити користувача браузера встановити IDocHostUIHandler інтерфейсу.
  • Internet Explorer конфігурацію посиленої безпеки (ESC для IE) активовано за промовчанням у Windows Server 2008 або Windows Server 2008 R2. Таким чином, для Internet Explorer не вдалося завантажити розширення. Примітка. Необхідно вручну вимкнути параметр IE ESC.

Рівень складності

Відомості про завантаження

Для завантаження в цьому прикладі, клацніть одне з наведених нижче посилань:

Технічний огляд

Використання настроюваних контекстного меню браузера Internet Explorer, відкрити зображення в новій вкладці, виконайте такі дії:
  1. Додати записи стандартні контекстного меню Internet Explorer. Щоб додати запис стандартного контекстного меню Internet Explorer, потрібно додати до розділу в наведений нижче запис реєстру: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Примітка значення за промовчанням ключ, є шлях до файлу html що обробляє, події. Клас OpenImageMenuExt , надаються два способи додавання та видалення записів у реєстрі. Крім того, можна використовувати Resource.htm або OpenImage.htm сторінки html можна відкрити зображення в новій вкладці:
    private const string IEMenuExtRegistryKey =            "Software\\Microsoft\\Internet Explorer\\MenuExt";         public static void RegisterMenuExt()        {             // If the key exists, CreateSubKey will open it.            RegistryKey ieMenuExtKey = Registry.CurrentUser.CreateSubKey(                IEMenuExtRegistryKey + "\\Open image in new tab");              // Get the path of Resource\OpenImage.htm.            FileInfo fileIofo = new FileInfo(Assembly.GetExecutingAssembly().Location);            string path = fileIofo.Directory.FullName + "\\Resource\\OpenImage.htm";             // Set the default value of the key to the path.            ieMenuExtKey.SetValue(string.Empty, path);             // Set the value of Name.            ieMenuExtKey.SetValue("Name", "Open_Image");             // Set the value of Contexts to indicate which contexts your entry should            // appear in the standard context menu by using a bit mask consisting of            // the logical OR of the following values:            // Default 0x1             // Images 0x2             // Controls 0x4             // Tables 0x8             // Text selection 0x10             // Anchor 0x20             ieMenuExtKey.SetValue("Contexts", 0x2);             ieMenuExtKey.Close();        }
  2. Змінити стандартний контекстного меню Internet Explorer, за допомогою об'єкти модуля підтримки браузера. Клас OpenImageHandler , реалізує інтерфейс IDocHostUIHandler та OpenImageHandler класу також має перевагу над контекстного меню за промовчанням. Клас OpenImageBHO – це об'єкту модуля підтримки браузера, які встановлюють penImageHandler класів, UIHandler класу html-документ. Щоб отримати додаткові відомості про створення та розгортання BHO див. CS/VBBrowserHelperObject зразка коду Framework Microsoft-все в одному.
    InternetExplorer explorer = pDisp as InternetExplorer;             // Set the handler of the document in InternetExplorer.            if (explorer != null)            {                NativeMethods.ICustomDoc customDoc = (NativeMethods.ICustomDoc)explorer.Document;                customDoc.SetUIHandler(openImageDocHostUIHandler);            } 
  3. Розгортання настроювані меню разом із проекту установки. Розгортання настроювані меню разом із проекту установки, виконайте такі дії:
    1. Додати до установки класу (відомий як CustomIEContextMenuInstaller у зразку коду) визначити настроювані дії CSCustomIEContextMenu проекту установки. Клас інсталятор ґрунтується на System.Configuration.Install.Installer -класу. У коді використовується настроювані дії з додавання та видалення Internet Explorer контекстне меню записи в реєстр. Після цього зразку коду реєструє або unregisters COM-інтерфейсів класи в поточний керованих складань, під час інсталяції або видаляє з компонента користувача.
      [RunInstaller(true), ComVisible(false)]    public partial class CustomIEContextMenuInstaller : System.Configuration.Install.Installer    {        public CustomIEContextMenuInstaller()        {            InitializeComponent();        }          public override void Install(System.Collections.IDictionary stateSaver)        {            base.Install(stateSaver);             OpenImageMenuExt.RegisterMenuExt();             RegistrationServices regsrv = new RegistrationServices();            if (!regsrv.RegisterAssembly(this.GetType().Assembly,            AssemblyRegistrationFlags.SetCodeBase))            {                throw new InstallException("Failed To Register for COM");            }        }         public override void Uninstall(System.Collections.IDictionary savedState)        {            base.Uninstall(savedState);             OpenImageMenuExt.UnRegisterMenuExt();             RegistrationServices regsrv = new RegistrationServices();            if (!regsrv.UnregisterAssembly(this.GetType().Assembly))            {                throw new InstallException("Failed To Unregister for COM");            }        }    }
    2. Створення проекту установки, розгортання меню браузера Internet Explorer.
Примітка.Щоб отримати додаткові відомості про створення та розгортання зразок застосунку див. файл README. txt, який входить до складу пакета для завантаження.

Технологія категорії

Windows бази

Мови

Цей код на зразок доступний нижченаведених мов програмування.
МоваНазва проекту
Visual C#CSCustomIEContextMenu
Візуальні Basic.NETVBCustomIEContextMenu

Посилання

Щоб отримати додаткові відомості про те, як додати записи до стандартних контекстного меню відвідайте такий веб-сайт MSDN:Щоб отримати додаткові відомості про контекстне меню і розширень перейдіть на веб-сайті MSDN:Щоб отримати додаткові відомості про об'єкти модуля підтримки браузера відвідайте такий веб-сайт MSDN:

Додаткові відомості


Що таке все в одному з кодом Framework

Більшість Microsoft розробки технології, за допомогою все в одному з кодом Framework показує, за допомогою приклади коду для різних мов програмування. Кожному прикладі ретельно встановлено, у складі і задокументовані для відображення одного зазвичай за сценарієм коду. Щоб отримати додаткові відомості про все в одному з кодом Framework відвідайте веб-сайт корпорації Майкрософт:

Як знайти більше-все в одному з кодом Framework зразків

Щоб знайти більше-все в одному з кодом Framework зразків, знайдіть "kbcodefx" разом з пов'язаних ключових слів, у Microsoft веб-сайт підтримки. Крім того, відвідайте веб-сайт корпорації Майкрософт:
Швидке відмову від гарантій щодо публікації
Корпорація Майкрософт та/або її постачальники не роблять жодних заяв про придатність, надійність або точність інформації і графічних матеріалів. Такі відомості та графічні надається "як є" без будь-яких гарантій. Корпорація Майкрософт та/або її постачальники тим самим відмовляються від, усі гарантій і умов стосовно цієї інформації та пов'язані з графіки, включаючи всі гарантії та умови придатності для певної мети, високої на нього та непорушення прав. Зокрема погоджуєтеся, що не корпорації Майкрософт та/або її постачальники несе відповідальності за будь-які прямі, непрямі, штрафні, випадкові, особливі, непрямі збитки або збитки взагалі включаючи, без обмеження, збитки за втрату даних використання або прибуток, що виникають, або будь-яким способом, пов'язані з використанням або неможливістю використання відомостей і графічних матеріалів, за контракту, цивільного правопорушення, необережності, об'єктивної відповідальності або іншим чином, навіть якщо корпорації Майкрософт або будь-якої з її постачальників відобразиться відповідна підказка про можливість таких збитків.