怎么获得webbrowser控件所显示的网页内,用户所点击的超链接地址
如何获得webbrowser控件所显示的网页内,用户所点击的超链接地址?
我做一个对话框程序,里面嵌一个webbrowser控件,控件导航到一个网页,网页内有很多超链接,当用户点击其中一个超链接的时候,如何获得这个超链接的地址?我看了过去的帖子,没有一个能给出确切的回答的。希望大家帮忙,本人不吝惜高分。
------解决方案--------------------
ZT: BY modena.
使用BHO, 通过连接点的方式截获IE所有的事件处理,然后通过如下处理获取鼠标点击的链接地址:
HRESULT CMyIEHandle::Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pvarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
if( !pDispParams ) {
return E_INVALIDARG;
}
HRESULT hr = S_OK;
switch(dispidMember)
{
case DISPID_BEFORENAVIGATE:
case DISPID_FRAMEBEFORENAVIGATE:
{
USES_CONVERSION;
if( pDispParams-> cArgs < 0 ) {
break;
}
if( pDispParams-> rgvarg[5].vt != VT_BSTR ) {
break;
}
// 获取被点击的链接地址
_bstr_t href( pDispParams-> rgvarg[5].bstrVal );
......
------解决方案--------------------
1/程序可取得webbrowser控件的document指针。
2/绑定document的事件。
3/相应事件onclick,
4/得到event对象,判断srcElement是否为连接a或是a的子元素。
5/取得a的href.
------解决方案--------------------
www.codeproject.com/atl/popupblocker.asp
www.codeproject.com/useritems/BhoNew.asp
msdn.microsoft.com/library/en-us/IETechCol/cols/dnexpie/expie_hello_bho.asp
我做一个对话框程序,里面嵌一个webbrowser控件,控件导航到一个网页,网页内有很多超链接,当用户点击其中一个超链接的时候,如何获得这个超链接的地址?我看了过去的帖子,没有一个能给出确切的回答的。希望大家帮忙,本人不吝惜高分。
------解决方案--------------------
ZT: BY modena.
使用BHO, 通过连接点的方式截获IE所有的事件处理,然后通过如下处理获取鼠标点击的链接地址:
HRESULT CMyIEHandle::Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pvarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
if( !pDispParams ) {
return E_INVALIDARG;
}
HRESULT hr = S_OK;
switch(dispidMember)
{
case DISPID_BEFORENAVIGATE:
case DISPID_FRAMEBEFORENAVIGATE:
{
USES_CONVERSION;
if( pDispParams-> cArgs < 0 ) {
break;
}
if( pDispParams-> rgvarg[5].vt != VT_BSTR ) {
break;
}
// 获取被点击的链接地址
_bstr_t href( pDispParams-> rgvarg[5].bstrVal );
......
------解决方案--------------------
1/程序可取得webbrowser控件的document指针。
2/绑定document的事件。
3/相应事件onclick,
4/得到event对象,判断srcElement是否为连接a或是a的子元素。
5/取得a的href.
------解决方案--------------------
www.codeproject.com/atl/popupblocker.asp
www.codeproject.com/useritems/BhoNew.asp
msdn.microsoft.com/library/en-us/IETechCol/cols/dnexpie/expie_hello_bho.asp