怎么获取程序嵌入的网页链接的地址
如何获取程序嵌入的网页链接的地址
如题,很多应用程序里面嵌入了一个Internet Explorer_Server,如何获取到这个网页链接的地址呢?
------解决方案--------------------
网上有例子, 搜获取网页源码, 取这个地址也是一样的, 很久以前就有的, 不知对现在系统是否可以
先取到这个窗体的句柄, 然后用这个句柄取到IHTMLDocument2, 然后 IHTMLDocument2.get_URL
主要部分过程
------解决方案--------------------
获取控件句柄后,调用get_URL
如题,很多应用程序里面嵌入了一个Internet Explorer_Server,如何获取到这个网页链接的地址呢?
------解决方案--------------------
网上有例子, 搜获取网页源码, 取这个地址也是一样的, 很久以前就有的, 不知对现在系统是否可以
先取到这个窗体的句柄, 然后用这个句柄取到IHTMLDocument2, 然后 IHTMLDocument2.get_URL
主要部分过程
BOOL NScript::GetHtmlDocFromWnd(HWND hWnd, IHTMLDocument2 **ppHtmlDoc)
{
CComQIPtr<IHTMLDocument> HtmlDoc;
CComQIPtr<IDispatch> HtmlDispath;
CComQIPtr<IHTMLWindow2> HtmlWin2;
LPFNOBJECTFROMLRESULT fnObjectFromLresult;
UINT uMessage;
DWORD_PTR dwRetVal;
HRESULT hr;
CoInitialize(NULL);
*ppHtmlDoc = NULL;
fnObjectFromLresult = (LPFNOBJECTFROMLRESULT)NSys::GetDllProcAdders("OLEACC.DLL", "ObjectFromLresult");
if(fnObjectFromLresult == NULL)
return FALSE;
uMessage = ::RegisterWindowMessage(_T("WM_HTML_GETOBJECT"));
::SendMessageTimeout(hWnd, uMessage, 0L, 0L, SMTO_ABORTIFHUNG, 1000, &dwRetVal);
hr = fnObjectFromLresult((LRESULT)dwRetVal, IID_IHTMLDocument, 0, (void**)&HtmlDoc);
if(FAILED(hr)
------解决方案--------------------
HtmlDoc == NULL)
return FALSE;
hr = HtmlDoc->get_Script(&HtmlDispath);
if(FAILED(hr)
------解决方案--------------------
HtmlDispath == NULL)
return FALSE;
HtmlWin2 = HtmlDispath;
if(HtmlWin2 == NULL)
return FALSE;
hr = HtmlWin2->get_document(ppHtmlDoc);
if(FAILED(hr))
return FALSE;
return TRUE;
}
------解决方案--------------------
获取控件句柄后,调用get_URL