如何将电脑屏幕保存为一张图片?

bambooran 2009-02-21 04:42:19
用vc如何将电脑屏幕保存为一张图片并存储?
...全文
288 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjhbang 2011-10-19
  • 打赏
  • 举报
回复
按过print screen又该如何?我也知道按它,后续你不说有什么用。
mm163163 2009-02-21
  • 打赏
  • 举报
回复
这有个例子 直接用就可以了
http://www.chinavib.com/space/65990/viewspace-14280
a_rockboy 2009-02-21
  • 打赏
  • 举报
回复
#include "stdafx.h"

#include <windows.h>
#include <atlimage.h>

int __stdcall WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
HWND hwnd = ::GetDesktopWindow();
HDC hDC = ::GetDC(hwnd);

RECT rect;
::GetClientRect(hwnd, &rect);
HDC hDCMem = ::CreateCompatibleDC(hDC);

HBITMAP hBitMap = ::CreateCompatibleBitmap(hDC, rect.right, rect.bottom);
HBITMAP hOldMap = (HBITMAP)::SelectObject(hDCMem, hBitMap);

::BitBlt(hDCMem, 0, 0, rect.right, rect.bottom, hDC, 0, 0, SRCCOPY);

CImage image;
image.Attach(hBitMap);
image.Save("c:\\B.bmp");
image.Detach();

::SelectObject(hDCMem, hOldMap);
::DeleteObject(hBitMap);
::DeleteDC(hDCMem);
::DeleteDC(hDC);

return 0;
}




先写的,也许释放内存什么的没考虑周全,能实现功能。
wnx_u 2009-02-21
  • 打赏
  • 举报
回复
编程还是应用?应用的话按PrintScreen,VC编程的话可以用GetDIBits()函数获取屏幕信息,然后保存为BMP文件

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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