Jak načíst URL webové stránky z prvku ActiveX

Překlady článku Překlady článku
ID článku: 181678 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak ovládací prvek ActiveX může načíst adresu URL (Uniform Resource LOCATOR) webovou stránku (dokument) na které jej právě hostitelem je.

Může být užitečné pro omezení využití ovládacího prvku ActiveX k určité domény nebo webu nebo přístupu k souborům při dodaná relativní cestu.

Další informace

Během inicializace vložený ovládací prvek ActiveX Internet Explorer (IE) předá ukazatel jeho webu klienta podle volajícího IOleObject::SetClientSite(). Tento proces lze načíst zástupný název pro kontejner nebo přístup k modelu objektu dokumentu načíst URL hostitelské webové stránce.

Tento článek ukazuje, jak načíst aktuální URL z zástupný název kontejneru. Další informace o získání adresu z modelu objektu dokumentu naleznete v následujícím článku databáze Microsoft Knowledge Base:
172763INFORMACE: K objektovému modelu z v prvku ActiveX
Takto načíst aktuální URL z zástupný název kontejneru:
  1. Klient získat ukazatel rozhraní webu (IOleClientSite). Kontejner volání IOleObject::SetClientSite() předat ukazatel webu klienta. Přepsat tato metoda mezipaměti tohoto ukazatele.
  2. Získat zástupný název web klienta podle volajícího IOleClientSite::GetMoniker().
  3. Volání IMoniker::GetDisplayName() získat URL pro aktuální dokument.
Následující ukázkový kód demonstruje provedení výše uvedených kroků přepsáním IOleObject::SetClientSite() metodu ovládacího prvku ActiveX Active Template Library (ATL):

Ukázkový kód

STDMETHOD(SetClientSite)(IOleClientSite *pClientSite)
{
   if (pClientSite != NULL)
   {
      // Obtain URL from container moniker.
      CComPtr<IMoniker> spmk;
      LPOLESTR pszDisplayName;

      if (SUCCEEDED(pClientSite->GetMoniker(
                                    OLEGETMONIKER_TEMPFORUSER,
                                    OLEWHICHMK_CONTAINER,
                                    &spmk)))
      {
         if (SUCCEEDED(spmk->GetDisplayName(
                                 NULL, NULL, &pszDisplayName)))
         {
            USES_CONVERSION;

            CComBSTR bstrURL;
            bstrURL = pszDisplayName;

            ATLTRACE("The current URL is %s\n", OLE2T(bstrURL));
            CoTaskMemFree((LPVOID)pszDisplayName);
         }
      }
   }

   return IOleObject_SetClientSite(pClientSite);
}
				

Odkazy

Další informace o rozhraních IOleObject, IoleClientSite a IOleContainer naleznete v online nápovědě Microsoft Visual C++.

(c) Microsoft Corporation 1998, všechny rezervované práv. Příspěvky označit Davis, Microsoft Corporation

Vlastnosti

ID článku: 181678 - Poslední aktualizace: 15. července 2004 - Revize: 2.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Internet Explorer 3.0
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • 128bitová verze aplikace Microsoft Internet Explorer 4.0
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
Klíčová slova: 
kbmt kbhowto KB181678 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:181678
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

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