请高手帮忙 如何抓取后台窗口DC上的位图. 我用IPreviewHandler把一个图象DoPreview到一个后台窗口上面,我可以得到窗口的HDC,CDC.由于CDC是设备相关的,CDC 一直刷新,窗口不show出来就得不到我DoPreview上去的图.怎样才能把DC里面的位图取出来保存. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不太明白你的意思。是不是可以在其它任意地方(不是刷新窗口消息的响应函数)获取显示DC,做一个兼容的内存DC,把显示内容送进去? 我是把我的东西显示到窗口上,但是这个窗口在后台,不能show出来.然后我再把显示在这个窗口的图,给抓出来. 没有呀,那是系统的com接口,就DoPreview了一下,显示到我指示的窗口上,我只能从我的窗口上去抓这个图,然而我的窗口又不能show出来. HBITMAP GetSrcBit(HDC hDC,DWORD BitWidth, DWORD BitHeight){HDC hBufDC;HBITMAP hBitmap, hBitTemp;//创建设备上下文(HDC)hBufDC = CreateCompatibleDC(hDC);//创建HBITMAPhBitmap = CreateCompatibleBitmap(hDC, BitWidth, BitHeight);hBitTemp = (HBITMAP) SelectObject(hBufDC, hBitmap);//得到位图缓冲区StretchBlt(hBufDC, 0, 0, BitWidth, BitHeight,hDC, 0, 0, BitWidth, BitHeight, SRCCOPY);//得到最终的位图信息hBitmap = (HBITMAP) SelectObject(hBufDC, hBitTemp);//释放内存DeleteObject(hBitTemp);::DeleteDC(hBufDC);return hBitmap;} 为什么Microsoft Visual Studio.Net 2005/2008 基于对话框程序 ctrl+scroll lock 关闭? 进来分析一下程序的问题... vc网络通信..? 高位大虾!帮帮小弟(JPG数据加载问题) 弹出的对话框的位置怎样设定? 小女子初来csdn,请各位大哥帮个忙 试用SendMessage(..)的问题! 视图问题 VC中如何让CTreeCtrl控件在未展开的父结点前始终显示一个+号(包括没有子结点时) 求算法或源程序,在窗口中截取弧线 InlineHook总是崩溃 请教大家是怎么做版本管理的
然后我再把显示在这个窗口的图,给抓出来.
{
HDC hBufDC;
HBITMAP hBitmap, hBitTemp;
//创建设备上下文(HDC)
hBufDC = CreateCompatibleDC(hDC);
//创建HBITMAP
hBitmap = CreateCompatibleBitmap(hDC, BitWidth, BitHeight);
hBitTemp = (HBITMAP) SelectObject(hBufDC, hBitmap);
//得到位图缓冲区
StretchBlt(hBufDC, 0, 0, BitWidth, BitHeight,
hDC, 0, 0, BitWidth, BitHeight, SRCCOPY);
//得到最终的位图信息
hBitmap = (HBITMAP) SelectObject(hBufDC, hBitTemp);
//释放内存
DeleteObject(hBitTemp);
::DeleteDC(hBufDC);
return hBitmap;
}