Makale numarası: 257717 - Son Gözden Geçirme: 11 Mayıs 2006 Perşembe - Gözden geçirme: 3.0

Nasıl yapılır: üst düzey IWebBrowser2 arabirimi ActiveX Denetimi Al...

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Özet

Microsoft Bilgi Bankası makalesi
172763  (http://support.microsoft.com/kb/172763/EN-US/ ) BILGI: ActiveX denetimi içinde nesne modeli tarafından erişiliyor
Ana pencerenin bir ActiveX denetiminin IWebBrowser2 başvurusu elde açıklar. Ancak, genellikle geliştiriciler gerçekten istediğinizi en üstteki IWebBrowser2, kendisini çerçeve içeren bir başvurudur. Bu, statusText() komut aramak isterseniz, örneğin, sayfadan önce <a1>Pencere</a1> durumu kutusunun değerini ayarlamak için yüklenen yapıldı yararlı olabilir. Bu özellik, WebBrowser denetimi çalışmaz, çünkü bu katıştırılmış çerçevenin IWebBrowser2 arama hatayla sonuçlanır.

Daha fazla bilgi

En üst düzey IWebBrowser2 başvuru almak için <a0></a0>, istemci sitesinden ıserviceprovider almak ve bir QueryService hizmeti SID_STopLevelBrowser (Shlguid.h içinde tanımlanmıştır) altındaki IID_IServiceProvider için gerçekleştirin.. Bu ikinci ıserviceprovider, SID_SWebBrowserApp hizmetindeki bir QueryService IID_IWebBrowser2 için gerçekleştirin.

Bu işi yapmak için en iyi IOleObject SetClientSite() yönteminde yerdir:
#include <SHLGUID.h>

#define COMRELEASE(ptr)\ 
	if (ptr != NULL) {\ 
		ptr->Release();\ 
		ptr = NULL;\	
	}

IWebBrowser2 *browser = NULL;

STDMETHODIMP SetClientSite(IOleClientSite *pClientSite) 
{
	HRESULT hr = S_OK;
	IServiceProvider *isp, *isp2 = NULL;
	if (!pClientSite)
	{
		COMRELEASE(browser);
	}  
	else
	{
		hr = pClientSite->QueryInterface(IID_IServiceProvider, reinterpret_cast<void **>(&isp));
		if (FAILED(hr)) 
		{
			hr = S_OK;
			goto cleanup;
		}
		hr = isp->QueryService(SID_STopLevelBrowser, IID_IServiceProvider, reinterpret_cast<void **>(&isp2));
		if (FAILED(hr))
		{
			hr = S_OK;
			goto cleanup;
		}
		hr = isp2->QueryService(SID_SWebBrowserApp, IID_IWebBrowser2, reinterpret_cast<void **>(&browser));
		if (FAILED(hr)) 
		{
			hr = S_OK;
			goto cleanup;
		}
	cleanup:
		// Free resources.
		COMRELEASE(isp);
		COMRELEASE(isp2);
		return hr;
	}
}
				

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
172763  (http://support.microsoft.com/kb/172763/EN-US/ ) BILGI: ActiveX denetimi içinde nesne modeli tarafından erişiliyor
Microsoft ınternet Explorer için Web tabanlı çözümler geliştirme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitelerini ziyaret edin:
http://msdn.microsoft.com/ie/ (http://msdn.microsoft.com/ie/)

http://support.microsoft.com/iep (http://support.microsoft.com/iep)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
Anahtar Kelimeler: 
kbmt kbctrl kbhowto KB257717 KbMttr
Otomatik TercümeOtomatik Tercüme
Ö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:257717  (http://support.microsoft.com/kb/257717/en-us/ )
Retired KB ArticleKullanı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.