HOWTO: ActiveX 컨트롤에서 웹 페이지의 URL 검색

기술 자료 번역 기술 자료 번역
기술 자료: 181678 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR181678
모두 확대 | 모두 축소

이 페이지에서

요약

본 문서에서는 ActiveX 컨트롤이 포함된 웹 페이지(문서)에서 ActiveX 컨트롤이 웹 페이지의 URL(Uniform Resource Locator)를 검색하는 방법을 설명합니다.

본 문서의 내용은 ActiveX 컨트롤 사용을 특정 도메인/사이트로 제한하거나 상대 경로가 제공된 경우에만 파일을 액세스하도록 제한하려는 경우에 유용할 수 있습니다.

추가 정보

포함된 ActiveX 컨트롤을 초기화하는 동안 Internet Explorer(IE)는 IOleObject::SetClientSite()를 호출하여 클라이언트 사이트에 포인터를 전달합니다. 이 프로세스는 컨테이너를 위한 모니커를 검색하거나 문서 개체 모델을 액세스하여 호스팅 웹 페이지의 URL을 검색하는 데 사용될 수 있습니다.

본 문서에서는 컨테이너 모니커에서 현재 URL을 검색하는 방법을 보여줍니다. 문서 개체 모델에서 URL을 얻는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
172763 INFO: Accessing the Object Model from Within an ActiveX Control
컨테이너 모니커에서 현재 URL을 검색하려면 아래 단계를 수행합니다.
  1. 클라이언트 사이트(IOleClientSite) 인터페이스 포인터를 얻습니다. 컨테이너는 IOleObject::SetClientSite()를 호출하여 포인터를 클라이언트 사이트에 전달합니다. 이 포인터를 캐시하도록 이 메서드를 override합니다.
  2. IOleClientSite::GetMoniker()를 호출하여 클라이언트 사이트의 모니커를 얻습니다.
  3. IMoniker::GetDisplayName()을 호출하여 현재 문서의 URL을 얻습니다.
아래의 예제 코드에서는 ATL(Active Template Library) ActiveX 컨트롤에서 IOleObject::SetClientSite() 메서드를 override함으로써 위에서 설명한 단계를 수행하는 방법을 보여줍니다.

예제 코드

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



CComBSTR bstrURL; bstrURL = pszDisplayName;

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

   return IOleObject_SetClientSite(pClientSite); }

				

참조

IOleObject, IOleClientSite 및 IOleContainer 인터페이스에 대한 자세한 내용은 Microsoft Visual C++ 온라인 도움말을 참조하십시오.

(c) Microsoft Corporation 1998, All Rights Reserved. Microsoft Corporation의 Mark Davis 제공

속성

기술 자료: 181678 - 마지막 검토: 2003년 8월 19일 화요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • 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 서비스 팩 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
키워드:?
axsdkcontrols kbdsi kbgrpinet kbie300 kbie400 kbie401 kbie500 kbie550 KB181678
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

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