Ako sa pripojiť k beží inštanciu programu Internet Explorer

Preklady článku Preklady článku
ID článku: 176792 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Súhrn

Je možné pripojiť k beží inštanciu programu Internet Explorer verzie 4.0 alebo neskôr pomocou kolekcie SHDocVw.ShellWindows.

Ďalšie informácie

Typicky, aplikácia sa pripája k beží inštanciu iná aplikácia beží objektu tabuľky. Pretože Internet Explorer 4.0 neregistruje sám v tabuľke beh objektu, iná metóda je potrebné.

ShellWindows kolekcia je popísaná na internete Klient SDK takto: The ShellWindows objekt predstavuje kolekcia otvorené okná, ktoré patria do shellu. V skutočnosti, Táto zbierka obsahuje Odkazy na program Internet Explorer, rovnako ako ostatné windows patriaci do napríklad Windows Explorer shell.

Nasledujúci kód jazyka Visual Basic získa odkazom na ShellWindows kolekcia. Kolekcia je oslovené a LocationName pre každý objekt pridaný do zoznamu. Ak dokument priradený objekt je typu HTMLDocument (webovú stránku), názov stránky je pridaný do iného zoznamu.

Spustiť nasledujúci kód, je potrebné pridať odkaz na "Microsoft Internet Kontroly"(Shdocvw.dll) a"Microsoft HTML knižnica objektov"(Mshtml.dll) na Projekt jazyka Visual Basic:
Dim SWs As New SHDocVw.ShellWindows
Dim IE As SHDocVw.InternetExplorer

Private Sub Form_Load()
   Dim Doc
   List1.Clear
   List2.Clear

   Text1.Text = SWs.count

   For Each IE In SWs
      List1.AddItem IE.LocationName

      Set Doc = IE.Document
      If TypeOf Doc Is HTMLDocument Then
         'if this is an HTML page, display the title
         'may or may not be the same as LocationName
         List2.AddItem Doc.Title
      End If
   Next
End Sub
				

V C++, pripojenie môže byť vykonané približne rovnakým spôsobom. Vizuálne C++ natívnu podporu Com je tu použitý v záujme stručnosti.

Pridajte odkazy na Shdocvw.dll a Mshtml.dll projektu:
#import <mshtml.dll> // Internet Explorer 4.0x
#import <mshtml.tlb> // Internet Explorer 5
#import <shdocvw.dll>
				
Vyhlásiť inštancie IShellWindows ukazovateľ vo svojej triede Zobraziť:
SHDocVw::IShellWindowsPtr m_spSHWinds;
				
Vytvoriť inštanciu ShellWindows objekt v konstruktoru váš názor:
m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows));
				
Použitie ShellWindows objekt vášho názoru OnInitialUpdate funkcie:
void CConnectIEView::OnInitialUpdate()
{
   CFormView::OnInitialUpdate();

   ASSERT(m_spSHWinds != NULL);

   CString strCount;
   long nCount = m_spSHWinds->GetCount();

   strCount.Format("%i", nCount);
   m_strWinCount = strCount;

   UpdateData(FALSE);

   IDispatchPtr spDisp;
   for (long i = 0; i < nCount; i++)
   {
      _variant_t va(i, VT_I4);
      spDisp = m_spSHWinds->Item(va);

      SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
      if (spBrowser != NULL)
      {
         m_ctlListLoc.AddString(spBrowser->GetLocationName());

         MSHTML::IHTMLDocument2Ptr spDoc(spBrowser->GetDocument());
         if (spDoc != NULL)
         {
             m_ctlListTitle.AddString(spDoc->Gettitle());
         }
      }
   }
}
				

Metódu pre pripojenie k beží inštanciu Internet Explorer nefunguje, ak Shell integrácie nie je nainštalovaný, alebo ak "Ľudia v novom procese" je vybraný v Internet Explorer 4.0.

Ak nie je možné kontrolovať tieto faktory, je tu ešte jeden možný spôsob, ktorý môže pracovať. Pomocný objekt prehľadávača môžu byť zapísané do registra Internet Explorer 4.0 v objektu tabuľky jazdného (ROT). Existuje mnoho implementácií možné tu. v závislosti na aplikácii, ako je určiť inštanciu programu Internet Prieskumník s ktorou sa pripojiť. To je len jedným z možných riešení: prehliadač pomocný objekt, majú prístup k objektovému modelu inštanciu programu Explorer to bola zahájená, by zistiť, či je inštancia prehliadač, musí byť zapísaná v tabuľke beh objektu.

Rozhranie, spotrebiteľ má záujem môže byť registrované v hniloby s RegisterActiveObject funkciu a figuríny CLSID, že spotrebiteľ bude rozpoznať. Ďalším riešením, ktoré by umožnili viaceré inštancie Program Explorer registrovaných v hniloby, by bolo mať Browser Helper objekt komponovať položka Prezývka založené na identifikátor GUID a kus údajov, ktoré sú jedinečné pre každého inštanciu programu Internet Explorer. Moniker by byť registrované v hniloby s IRunningObjectTable::Register metóda. Opäť platí, by sa spotrebiteľ vedia, ako spoznať tento moniker.

Odkazy

Ďalšie informácie nájdete na webovej lokalite MSDN Online Workshop na:
Knižnica MSDN
Internet Client SDK; Hľadať na internete nástroje a Technológie - Shell API systému Windows

Pre ďalšie informácie, prosím Pozri článok v databáze Microsoft Knowledge Base:
179230 SÚBOR: IEHelper-viažu k IE 4 pomocou pomocný objekt prehľadávača
Pre viac informácií, navštívte nasledujúci článok na:
http://msdn2.Microsoft.com/en-us/library/Bb250436.aspx
(c) 1997 Microsoft Corporation, Všetky práva vyhradené. Príspevky od Robert Duke, Microsoft Corporation

Vlastnosti

ID článku: 176792 - Posledná kontrola: 20. júla 2013 - Revízia: 4.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Internet Client Software Development Kit 4.01
Kľúčové slová: 
kbcode kbhowto kbmt KB176792 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 176792

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com