如何将当前窗口中显示的内容保存成 HBITMAP?

slacker2000 2008-11-21 11:19:36
怎么才能将当前窗口中的内容保存成 HBITMAP呢?
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
eagle1597 2008-11-21
  • 打赏
  • 举报
回复
HBITMAP Get(HWND hWnd)
{
HBITMAP hbm;
BITMAP bm;
RECT rect;
HDC memdc;

GetClientRect(hWnd, &rect);

hbm = CreateCompatibleBitmap(GetDC(hWnd), rect.right-rect.left, rect.bottom-rect.top);
memdc = CreateCompatibleDC(GetDC(hWnd));

HBITMAP h = (HBITMAP)SelectObject(memdc, hbm);

GetObject(hbm, sizeof(bm), &bm);
BitBlt(memdc, 0, 0, bm.bmWidth, bm.bmHeight, GetDC(hWnd), 0, 0, SRCCOPY);

SelectObject(memdc, h);

DelectDC(memdc);
}
shiyang_x 2008-11-21
  • 打赏
  • 举报
回复
HBITMAP savewintodc(hwnd)
{
hwindc = getwindowdc(hwnd)
hmemdc = CreateCompatibleDC(null)
hmembmp = createbitmap(...
holdbmp = selectobject(hmemdc,hmembmp)
bitblt(hmemdc,...hwindc..)
selectobject(hmemdc,holdbmp)
deletedc(hmemdc)
releaedc(hwindc)
return hmembmp;
}
shiyang_x 2008-11-21
  • 打赏
  • 举报
回复
HBITMAP savewintodc(hwnd)
{
hwindc = getwindowdc(hwnd)
hmemdc = CreateCompatibleDC(null)
hmembmp = createbitmap(...
holdbmp = selectobject(hmemdc,hmembmp)
bitblt(hmemdc,...hwindc..)
selectobject(hmemdc,holdbmp)
return hmembmp;
}
slacker2000 2008-11-21
  • 打赏
  • 举报
回复
谢谢,可以了.

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧