Jak używać dostosowane menu kontekstowego programu Internet Explorer umożliwia otwieranie obrazu na nowej karcie

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 2618576
WPROWADZENIE
Próbka ilustruje jak otworzyć obraz w nowej karcie, stosując niestandardowe menu kontekstowe programu Internet Explorer. Próbka ta obejmuje następujące funkcje:
  • Dodaje wpisy do programu Internet Explorer standardowe menu kontekstowe.
  • ZastępujeProgram Internet Explorer standardowe menu kontekstowe przy użyciu obiektów pomocniczych przeglądarki.
  • Wdraża niestandardowe menu kontekstowe programu Internet Explorer


Uwagi
  • Program Internet Explorer 8 umożliwia nowego podejścia, które nazywa się akcelerator lub działania w celu dodania wpisu do menu kontekstowego programu Internet Explorer. Nowe podejście jest łatwiejszy w obsłudze acceleratorsto kopiowanie informacji z jednej strony sieci Web do innego. Dodawanie wpisów do programu Internet Explorer standardowe menu kontekstowe jest jednak nadal dobre podejście do działają lokalnie.
  • Jeśli program Internet Explorer standardowe menu kontekstowe w obiekt pomocnika przeglądarki (BHO) można zastąpić, użyć jednej aplikacji dodatek w danej chwili, aby zastąpić interfejsu IDocHostUIHandler . Jeśli używasz wielu aplikacji add-in, aplikacje add-in można łatwo sprzeczne ze sobą. Można również utworzyć przeglądarki sieci web użytkownika, aby ustawić interfejs IDocHostUIHandler .
  • Internet Explorer zwiększonych zabezpieczeń (IE ESC) jest włączona domyślnie w systemie Windows Server 2008 lub Windows Server 2008 R2. Dlatego program Internet Explorer nie może załadować rozszerzenia.

    Uwaga: Należy ręcznie wyłączyć ustawienie konfiguracji IE ESC.

Poziom trudności

Pobieranie informacji

Aby pobrać ten przykładowy kod, kliknij jedno z następujących łączy:

Opis techniczny

Aby użyć dostosowane menu kontekstowego programu Internet Explorer umożliwia otwieranie obrazu na nowej karcie, wykonaj następujące kroki:
  1. Dodaj wpisy do programu Internet Explorer standardowe menu kontekstowe.
    Aby dodać wpis do theInternet Explorer standardowe menu kontekstowe, należy dodać klucz pod następujący wpis rejestru:
    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\

    Uwaga: Wartość domyślna klucza jest ścieżka pliku html, który obsługuje zdarzenie.

    Klasa OpenImageMenuExtudostępnia dwie metody dodawania i usuwania wpisów w rejestrze. Ponadto można użyć strony html Resource.htm lub OpenImage.htm i umożliwia otwieranie obrazu na nowej karcie:
    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. OverridetheInternet Explorer standardowe menu kontekstowe przez usingbrowserhelperobjects.
    Klasa OpenImageHandler implementuje interfejs IDocHostUIHandler , a klasa OpenImageHandler również zastępuje domyślne menu kontekstowe. Klasa OpenImageBHO jest obiekt pomocnika przeglądarki, która ustawia klasy penImageHandler klasy UIHandler dokumentu html. Aby uzyskać więcej informacji dotyczących sposobu tworzenia i wdrażania BHO Zobacz próbki CS/VBBrowserHelperObject w ramach kod All-in-One firmy 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. Wdrażanie menu kontekstowego niestandardowe wraz z projektem instalacji.
    Aby wdrożyć menu kontekstowego niestandardowe wraz z projektem instalacji, wykonaj następujące kroki:
    1. Dodaj klasę Instalatora (w przykładzie kodu znany jako CustomIEContextMenuInstaller) do definiowania akcji niestandardowych w projekcie InstalatoraCSCustomIEContextMenu. Instalator klasa pochodzi od klasy System.Configuration.Install.Installer . Kod przykładowy używa akcji niestandardowych do dodawania i usuwania programu Internet Explorer menuentries kontekstu w rejestrze. Następnie przykładowy kod rejestruje lub wyrejestrowuje klas COM widoczne w bieżącego zestawu zarządzanych, gdy użytkownik instaluje lub odinstalowuje składnik.
      [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. Tworzenie projektu Instalatora, aby wdrożyć menu kontekstowego programu Internet Explorer.
Uwaga: Aby uzyskać więcej informacji dotyczących sposobu tworzenia i wdrażania aplikacji przykładowej zobacz plik Readme.txt, który jest zawarty w pakiecie pobierania.

Technologia kategoria

Podstawy systemu Windows

Języki

Ten przykładowy kod źródłowy jest dostępny w następujących językach programowania:
JęzykNazwa projektu
Program Visual C#CSCustomIEContextMenu
Visual Basic.NETVBCustomIEContextMenu

Odwołania

Aby uzyskać więcej informacji na abouthow dodać wpisy do standardowe menu kontekstowe odwiedź następującą witrynę sieci Web MSDN:Aby uzyskać więcej informacji na temat menu kontekstowych i rozszerzeń odwiedź następującą witrynę sieci Web MSDN:Aby uzyskać więcej informacji dotyczących obiektów pomocniczych przeglądarki odwiedź następującą witrynę sieci Web MSDN:
Więcej informacji

Co to jest kodową All-in-One?

Ramy kod All-in-One zawiera większość technik rozwoju firmy Microsoft przy użyciu próbki kodu w różnych językach programowania. Każdy przykład jest starannie wybrane, składający się i udokumentowane pokazanie typowym scenariuszem kodu. Aby uzyskać więcej informacji o ramach kod All-in-One odwiedź następujące witryny firmy Microsoft:

Jak znaleźć więcej próbek kodową All-in-One

Aby znaleźć więcej próbek kodową All-in-One, wyszukaj "kbcodefx" wraz z pokrewnych słów kluczowych w programie Microsoft obsługuje witrynę sieci Web. Lub odwiedź następującą witrynę sieci Web firmy Microsoft:
Wyłączenie szybkiego publikowania
Firma Microsoft corporation lub jej dostawcy nie składają żadnych oświadczeń o przydatność, wiarygodność lub dokładności informacji i pokrewne grafiki zawarte w niniejszym dokumencie. Wszelkie takie informacje i ilustracje są dostarczane "tak jak są" bez jakiejkolwiek gwarancji. Firma Microsoft lub jej dostawcy niniejszym wyłączają wszelkie gwarancje i warunki w odniesieniu do tych informacji i pokrewnych grafik, w tym wszelkie dorozumiane gwarancje i warunki przydatności handlowej, przydatności do określonego celu, fachowości, tytułu oraz nienaruszalności. W szczególności zgadzasz się, że w żadnym wypadku firma Microsoft lub jej dostawców ponosi odpowiedzialności za jakiekolwiek bezpośrednie, pośrednie, karne, przypadkowe, szkody specjalne, pośrednie lub jakiekolwiek szkody tym, bez ograniczeń, odszkodowania z tytułu utraty zastosowań, danych lub korzyści, wynikające z lub w jakikolwiek sposób związane z korzystania z lub niemożności korzystać z informacji i związane z grafiki zawartych w niniejszym rozporządzeniu , czy w oparciu o umowy, czynów niedozwolonych, zaniedbania, odpowiedzialności na zasadzie ryzyka lub w inny sposób, nawet jeśli firma Microsoft lub jej dostawców powiadomiono o możliwości wystąpienia szkód.
Właściwości

Identyfikator artykułu: 2618576 — ostatni przegląd: 06/21/2015 03:18:00 — zmiana: 8.0

  • kbcodefx kbinfo kbnomt kbsurveynew kbrapidpub atdownload kbmt KB2618576 KbMtpl
Opinia