-응용 예) ActiveX 콘트롤로 특정 도메인 접속이나 특정 파일 경로의 접근을 막을수 있다
ActiveX초기화 상태에서 인터넷 익스플로어는 IOleObject::SetClientSite()로 포인터를 사이트에 넘기는데 이때 URL을 가져올수 있다
1. |
Obtain the client site (IOleClientSite) interface pointer. The container calls IOleObject::SetClientSite() to pass a pointer to the client site. Override this method to cache this pointer. |
2. |
Obtain a moniker to the client site by calling IOleClientSite::GetMoniker(). |
3. |
Call IMoniker::GetDisplayName() to obtain the URL for the current document. |
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);
}
출처 :MSDN
'웹, HTML' 카테고리의 다른 글
클라이언트 인터넷 익스플로러와 연동하기 (0) | 2008.09.06 |
---|---|
ActiveX 컨트롤로부터 URL 알아내기 (0) | 2008.08.30 |
ie7에서 self close (1) | 2008.08.26 |
IWebBrowser2 를 이용해서 웹브라우저 원하는 위치에 띄우기 Tools와 Tips (0) | 2008.08.14 |
부분 소스 보기 (IE6, IE7) (2) | 2008.07.31 |
웹 이미지 주소 복사하기 (IE6, IE7) (1) | 2008.07.31 |
ATL을 이용한 IE Browser Extension component 만들기 (1) | 2008.07.29 |