试了多种方法依然没有截屏IE成功,人都瘦了!
本人试了多种方法截IE依然不成功,现在采用的方法是注入IE内部调用如何下方法 应该不存在跨进程问题了,该获得的都获得了,但是截的屏蔽是黑屏幕
ImageRender ir;
if (ir.CreateImage((int)cx, (int)cy))
{
HDC renderDC = ir.GetDC();
HDC BrowserDC = GetDC(hwnd); //这是IE窗口的句柄
RECTL rectl;
rectl.top = 0;
rectl.left = 0;
rectl.right = cx;
rectl.bottom = cy;
OutputDebugText("CreateImage成功");
if (renderDC != NULL)
{
DVASPECTINFO info;
info.cb = sizeof(info);
info.dwFlags = DVASPECTINFOFLAG_CANOPTIMIZE;
// draw screen snapshot.
//两种调用方法均不成功
hr = spViewObject->Draw(DVASPECT_CONTENT,-1,
&info,NULL,NULL,renderDC,&rectl,&rectl,NULL,0); //这是mic_lee2000提供的方法
//spViewObject->Draw(DVASPECT_CONTENT, 1,
NULL, NULL, BrowserDC, renderDC,
&rectl, NULL, NULL, 0);//这种方法CHtmlView中可以成功
ir.ReleaseDC();
OutputDebugText("创建磁盘文件");
if (!ir.SaveToFile(L"c:\\a1.jpg", &jpegClsid))
{
OutputDebugText(_T("Unable to save the JPEG image."));
return FALSE;
}
}
}
解决此问题另赠200分
谢谢你们啦!
ImageRender ir;
if (ir.CreateImage((int)cx, (int)cy))
{
HDC renderDC = ir.GetDC();
HDC BrowserDC = GetDC(hwnd); //这是IE窗口的句柄
RECTL rectl;
rectl.top = 0;
rectl.left = 0;
rectl.right = cx;
rectl.bottom = cy;
OutputDebugText("CreateImage成功");
if (renderDC != NULL)
{
DVASPECTINFO info;
info.cb = sizeof(info);
info.dwFlags = DVASPECTINFOFLAG_CANOPTIMIZE;
// draw screen snapshot.
//两种调用方法均不成功
hr = spViewObject->Draw(DVASPECT_CONTENT,-1,
&info,NULL,NULL,renderDC,&rectl,&rectl,NULL,0); //这是mic_lee2000提供的方法
//spViewObject->Draw(DVASPECT_CONTENT, 1,
NULL, NULL, BrowserDC, renderDC,
&rectl, NULL, NULL, 0);//这种方法CHtmlView中可以成功
ir.ReleaseDC();
OutputDebugText("创建磁盘文件");
if (!ir.SaveToFile(L"c:\\a1.jpg", &jpegClsid))
{
OutputDebugText(_T("Unable to save the JPEG image."));
return FALSE;
}
}
}
解决此问题另赠200分
谢谢你们啦!
...全文
相关推荐
vue 使用 html2canvas 截屏并下载图片至本地(重点兼容ie浏览器)
然而,IE浏览器不支持`toDataURL`方法,所以需要额外的处理。
win下实现IE网页截屏
标题中的"win下实现IE网页截屏"指的是在Windows环境下利用特定方法或软件来捕获IE浏览器上的网页内容。
非常好用的截屏工具(可滚动截屏)
尽管存在只支持IE浏览器的不足,但瑕不掩瑜,它依然在截图领域占据了一席之地。如果你经常需要处理复杂的截图任务,Snagit 9无疑是一个值得信赖的选择。
VB IE Activex 截图 截屏 控件
在本案例中,"VB IE Activex 截图 截屏 控件"指的是利用VB和IE ActiveX技术实现屏幕截图功能的控件。首先,让我们了解什么是ActiveX。
网页截屏,web截屏
**ActiveX截屏**:在某些情况下,尤其是老版本的IE浏览器中,可能需要使用ActiveX控件来实现截屏。


