# ActiveX 컨트롤로부터 URL 알아내기
일반적으로 ActiveX 컨트롤이 자신이 삽입된 URL 의 정보를 알기 위해서는 스크립트 코드를
사용해서 URL 을 알려주는 코드를 사용한다던지,
혹은 PARAM 과 같은 코드를 사용해서 property 에 URL 값을 알려줄 수 있습니다. 하지만,
이러한 방법이 아닌 ActiveX 컨트롤이 URL 을 직접 알 수 있다면,
훨씬 더 편리하겠죠. 이러한 방법은 IOleClientSite 인터페이스를 사용하여 IMoniker 를
얻고 IMoniker 의 GetDisplayName 함수를 사용하면 가능합니다.
<예제>
HRESULT hrResult = S_FALSE;
IOleClientSite *pClientSite = NULL;
IMoniker* pMoniker = NULL;
LPOLESTR sDisplayName;
// 만약 ATL 을 사용했다면, m_spClientSite 를 사용하세요.
// CComControl 클래스의 멤버입니다.
// 만약 MFC를 사용한다면, 아래의 코드를 이용하세요.
// pClientSite = GetClientSite();
// * 나중에 릴리즈 하는거 잊지 마세요..
hrResult = m_spClientSite->GetMoniker(OLEGETMONIKER_TEMPFORUSER,
OLEWHICHMK_CONTAINER,
&pMoniker);
if(SUCCEEDED(hrResult))
{
hrResult = pMoniker->GetDisplayName(NULL,
NULL,
&sDisplayName);
pMoniker->Release();
}
//sDisplayName 을 사용한 후에는
//반드시 SysFreeString() 을 사용하여 , 메모리에서 제거해야합니다.
'■ 프로그래밍, 개발' 카테고리의 다른 글
### 파일 버젼 얻어 오기 GetFileVersion (0) | 2014.01.31 |
---|---|
문자열 변환 [아스키 유니코드] ASCII <-> UNICODE (0) | 2014.01.31 |
리스트 박스안에 긴 화일명 넣기 (0) | 2014.01.31 |
레지스트리(registry) 란 (0) | 2014.01.31 |
VFW 의 함수를 이용한 캠영상 얻어오기 구현 (0) | 2014.01.31 |
댓글