Nasıl yapılır: Web sayfasının URL'SI ActiveX Denetimi Al...

Makale çevirileri Makale çevirileri
Makale numarası: 181678 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, bunu barındırılan bir ActiveX denetimi (belge) Web sayfasının Tekdüzen Kaynak Konum Belirleyicisi (URL) nasıl alabilirsiniz gösterilmektedir.

Bu, belirli bir etki alanı/sitesinin bir ActiveX denetiminin kullanımını sınırlama veya göreli bir yol sağlandığında dosyalara erişmek için yararlı olabilir.

Daha fazla bilgi

Katıştırılmış bir ActiveX denetimini başlatma sırasında ınternet Explorer (IE) bir işaretçi, istemci siteye göre arama IOleObject::SetClientSite() geçirir. Bu işlem, kapsayıcısı için bir ad almak ya da barındıran Web sayfası URL'SINI almak için belge nesne modeli erişmek için kullanılabilir.

Bu makalede geçerli URL kapsayıcısını ad alma gösterilmiştir. URL belge nesne modeli elde etme hakkında ek bilgi için lütfen Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
172763BILGI: ActiveX denetimi içinde nesne modeli tarafından erişiliyor
Geçerli URL kapsayıcısını ad almak için aşağıdaki adımları izleyin:
  1. Istemci, <a1>site</a1> (ıoleclientsite) arabirim işaretçisi edinin. Kapsayıcı için <a1>istemci</a1> sitedeki bir işaretçi geçirilecek IOleObject::SetClientSite() çağırır. Bu işaretçi önbelleğe almak için bu yöntemi geçersiz kılar.
  2. Bir takma ad arama IOleClientSite::GetMoniker() tarafından <a1>istemci</a1> siteye alın.
  3. Geçerli belge için URL edinme IMoniker::GetDisplayName() arayın.
Aşağıdaki örnek kodu, yukarıdaki adımları Active Template Library (ATL) ActiveX denetimi IOleObject::SetClientSite() yöntemi geçersiz kılarak gösterilmiştir:

Örnek kod

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);
}
				

Referanslar

IOleObject IoleClientSite ve IOleContainer arabirimleri hakkında daha fazla bilgi için Microsoft Visual C++ için çevrimiçi yardıma başvurun.

(c) Microsoft Corporation 1998, tüm hakları saklıdır. Katkıyı işareti Davis, Microsoft Corporation

Özellikler

Makale numarası: 181678 - Last Review: 15 Temmuz 2004 Perşembe - Gözden geçirme: 2.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Explorer 3.0
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
Anahtar Kelimeler: 
kbmt kbhowto KB181678 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:181678
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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