社区
HTML/XML
帖子详情
如何得到当前激活的网页上所有的图片url?
sunwell
2003-08-27 01:46:50
得到所有图片的url,并得到在cache中的位置。
如何做?
有信誉的给分员拜托中......
...全文
119
5
打赏
收藏
如何得到当前激活的网页上所有的图片url?
得到所有图片的url,并得到在cache中的位置。 如何做? 有信誉的给分员拜托中......
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunwell
2003-08-30
打赏
举报
回复
我自己已经搞定了,不用这么麻烦的,
要是有人要这方面的代码,可以找我。
另外,masterz能否告诉我find in cache的用法,我不太会用这个函数。
masterz
2003-08-28
打赏
举报
回复
find it in cache
FindFirstUrlCacheEntry/FindNextUrlCacheEntry
masterz
2003-08-28
打赏
举报
回复
Get all Image URL
IHTMLElementCollection* p_imgColl = NULL;
if (!SUCCEEDED(hr = m_pMSHTML->get_all( &p_imgColl )))
return E_FAIL;
if(m_pParser)
{
m_pParser->Parse(p_imgColl);
p_imgColl->Release();
PostQuitMessage(0);
return S_OK;
}
// IHTMLElementCollection* p_imgColl = NULL;
// if (SUCCEEDED(hr = m_pMSHTML->get_all( &p_imgColl )))
{
long cElems=0;
// retrieve the count of elements in the collection
if (SUCCEEDED(hr = p_imgColl->get_length( &cElems )))
{
for ( int i=0; i<cElems; i++ )
{
VARIANT vIndex;
vIndex.vt = VT_UINT;
vIndex.lVal = i;
VARIANT var2 = { 0 };
LPDISPATCH pDisp;
if (SUCCEEDED(hr = p_imgColl->item( vIndex, var2, &pDisp )))
{
bool b_print_tag=true;
if(b_print_tag)
{
IHTMLImgElement* pImage = NULL;
if (SUCCEEDED(hr = pDisp->QueryInterface( IID_IHTMLImgElement, (LPVOID*)&pImage )))
{
BSTR bstr;
pImage->get_src(&bstr);
pImage->Release();
b_print_tag=false;
if (bstr)
{
SaveImg(bstr);
SysFreeString(bstr);
}
}
}
pDisp->Release();
} // item
} // for
} // get_length
p_imgColl->Release();
}
masterz
2003-08-28
打赏
举报
回复
attach to active IE
//Get IHTMLDocument2 interface from HWND
IHTMLDocument2* GetDocInterface(HWND hWnd)
{
// 我们需要显示地装载OLEACC.DLL,这样我们才知道有没有安装MSAA
HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );
IHTMLDocument2* pDoc2=NULL;
if ( hInst != NULL ){
if ( hWnd != NULL ){
CComPtr<IHTMLDocument> spDoc=NULL;
LRESULT lRes;
UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
::SendMessageTimeout( hWnd, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes );
LPFNOBJECTFROMLRESULT pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInst, _T("ObjectFromLresult") );
if ( pfObjectFromLresult != NULL ){
HRESULT hr;
hr=pfObjectFromLresult(lRes,IID_IHTMLDocument,0,(void**)&spDoc);
if ( SUCCEEDED(hr) ){
CComPtr<IDispatch> spDisp;
CComQIPtr<IHTMLWindow2> spWin;
spDoc->get_Script( &spDisp );
spWin = spDisp;
spWin->get_document( &pDoc2 );
}
}
}
::FreeLibrary(hInst);
}
else{//如果没有安装MSAA
AfxMessageBox(_T("请您安装Microsoft Active Accessibility"));
}
return pDoc2;
}
HOWTO: Get IHTMLDocument2 from a HWND(根据HWND取得IHTMLDocument2接口)(http://support.microsoft.com/default.aspx?scid=kb;EN-US;q249232
/*函数名:GetDocInterfaceByMSAA
参数:hwnd,WebBrowser控件的窗口句柄
功能:取得hwnd对应的Webbrowser控件的IHTMLDocument2*接口.
*/
IHTMLDocument2* GetDocInterfaceByMSAA(HWND hwnd)
{
HRESULT hr;
HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );
IHTMLDocument2* pDoc2=NULL;
if ( hInst != NULL ){
if ( hwnd != NULL ){
//取得AccessibleObjectFromWindow函数
LPFNACCESSIBLEOBJECTFROMWINDOW pfAccessibleObjectFromWindow =
(LPFNACCESSIBLEOBJECTFROMWINDOW)::GetProcAddress(hInst,_T("AccessibleObjectFromWindow"));
if(pfAccessibleObjectFromWindow != NULL){
CComPtr spAccess;
hr=pfAccessibleObjectFromWindow(hwnd,0,
IID_IAccessible,(void**) &spAccess);//取得Webbrowser控件的IAccessible接口
if ( SUCCEEDED(hr) ){
CComPtr spServiceProv;
hr=spAccess->QueryInterface(IID_IServiceProvider,(void**)&spServiceProv);
if(hr==S_OK){
CComPtr spWin;
hr=spServiceProv->QueryService(IID_IHTMLWindow2,IID_IHTMLWindow2,
(void**)&spWin);
/*
注意:并不是每次都能取得IHTMLWindow2接口,如果调用失败,可以尝试取得IHTMLElement接口:
CComPtr spElement;
hr=spServiceProv->QueryService(IID_IHTMLElement,IID_IHTMLElement,(void**)&spElement);
*/
if(hr==S_OK)
spWin->get_document(&pDoc2);
}
}
}
}
::FreeLibrary(hInst);
}
else{
AfxMessageBox(_T("请您安装Microsoft Active Accessibility"));
}
return pDoc2;
}
zhouyong0371
2003-08-27
打赏
举报
回复
搞不定,郁闷
JAVA上百实例源码以及开源项目
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,
得到
名字上下文,查询jndi名,通过强制转型
得到
Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
从输入
URL
到显示
网页
,都经历了什么?
转自http://www.dailichun.com/2018/03/12/whenyouentera
url
.html前言见解有限,如有描述不当之处,请帮忙指出,如...关于这道题目的吐槽暂且不提(这是一道被提到无数次的题,
得到
不少人的赞同,也被很多人反感),...
利用Javascript快速保存
当前
网页
中的所有
图片
利用Javascript快速保存
当前
网页
中的所有
图片
工作中,我经常会用到Windows Script, 因此在我的Blog上有这个专栏,把平时学到看到的记录下来,但是我自己一直没有发表过真正有用的脚本,工作中的那些由于涉及到公司...
html之链接
1.链接剖析: ...
URL
是一个
网页
地址。
URL
可以由字母组成,如”runoob.com”,或互联网协议(IP)地址: 192.68.20.50。大多数人进入网站使用网站域名来访问,因为 名字比数字更容易记住。
URL
-
web前端【3】JS基础-轮播图【JavaScript、定时器、鼠标动作、自动轮播、增加和减少li列表】
创建新圆点,重新赋值index,同步
激活
图片
,当单击删除时,当nums1>2是删除,清除
图片
激活
状态,删除父元素的最后一个子元素,修改
图片
父元素和圆点父元素的className,重新赋值index,imgNum.value使
图片
激活
状态...
HTML/XML
3,055
社区成员
8,066
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章