描述:
我有一个插件安装插件在IE上,当打开某一个网页的时候,需要取得IE地址栏中的URL,请问各位大虾需要怎么弄呢?解决问题全分奉送。~,3x
解决方案1:
算你走运!我刚解决这个问题!
给你参考!
void CVC404PCtrl::OnSetClientSite()
...{
// TODO: Add your specialized code here and/or call the base class
if (m_pControlSite != NULL)
...{
// Obtain URL from container moniker.
CComPtr<IMoniker> spmk;
LPOLESTR pszDisplayName;
IOleClientSite *pClientSite = NULL;
m_pControlSite->QueryInterface(IID_IOleClientSite, (void**)&pClientSite);
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);
CString strServerIP = OLE2T(bstrURL);
g_strServerIP = strServerIP.Mid(7);
int nPos = g_strServerIP.Find('/', 0);
if(nPos > 0)
g_strServerIP = g_strServerIP.Left(nPos);
}
}
}
}