VC实现对屏幕的截取

原创 2007年09月17日 11:32:00

HBITMAP CEspDlg::CopyScreenToBitmap(LPRECT lpRect)
{
 HDC hScrDC,hMemDC;//屏幕和内存设备描述表
 HBITMAP hBitmap,hOldBitmap;//位图句柄
 int nX,nY,nX2,nY2;//选定区域坐标
 int nWidth,nHeight;//位图宽度和高度
 int xScrn,yScrn;
 if(IsRectEmpty(lpRect))
  return NULL;
 //为屏幕创建设备描述表
 hScrDC=CreateDC("DISPLAY",NULL,NULL,NULL);
 //为屏幕设备描述表创建兼容的内存设备描述表
 hMemDC=CreateCompatibleDC(hScrDC);
 //获得选定区域坐标
 nX=lpRect->left;
 nY=lpRect->top;
 nX2=lpRect->right;
 nY2=lpRect->bottom;
 //获得屏幕分辨率
 xScrn=GetDeviceCaps(hScrDC,HORZRES);
 yScrn=GetDeviceCaps(hScrDC,VERTRES);
 

 nWidth=nX2-nX;
 nHeight=nY2-nY;
 //创建一个与屏幕设备描述表兼容的位图
 hBitmap=CreateCompatibleBitmap(hScrDC,nWidth,nHeight);
 //把新位衅选到内存设备描述表中
 hOldBitmap=(HBITMAP)SelectObject(hMemDC,hBitmap);
 //把屏幕设备描述表拷贝到内存设备描述表中
 BitBlt(hMemDC,0,0,nWidth,nHeight,hScrDC,nX,nY,SRCCOPY);
 //得到屏幕位图句柄
 hBitmap=(HBITMAP)SelectObject(hMemDC,hOldBitmap);
 DeleteDC(hScrDC);
 DeleteDC(hMemDC);
 return hBitmap;

vc实现区域截图

---- 下面用VC来逐步介绍在Windows下的实现过程.首先我们要确定屏幕截取的区域,用LPRECT结构来定义.可以截取一个窗口,或整个屏幕.以下代码把选定的屏幕区域拷贝到位图中. HBIT...
  • ccx_john
  • ccx_john
  • 2013年09月23日 10:39
  • 616

【框架-MFC】截取整个屏幕,伪造桌面

//1、设置窗口属性 // “Border - None”、“Application Window - False”、“Tool Window - True” //2、在CWinApp中添加一个存放...
  • chenlu5201314
  • chenlu5201314
  • 2016年05月06日 15:09
  • 558

vc屏幕截图实现

1.获取保存截图文件的路径,暂时选定为桌面 //把截图的文件保存到桌面 virtual BOOL CaptureLolToDesktop(HWND hWnd) { Sleep(1*1000); ...
  • qingzai_
  • qingzai_
  • 2015年08月06日 17:05
  • 2303

QT截取屏幕的实现

原文地址::http://blog.csdn.net/pamxy/article/details/9793883 相关文章 1、qt实现截取屏幕----http://blog.csdn.net/y...
  • xqhrs232
  • xqhrs232
  • 2016年10月09日 15:54
  • 228

用VC进行屏幕截取编程

屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用. 下面用VC来逐步介绍在Wi...
  • ccx_john
  • ccx_john
  • 2013年09月14日 14:29
  • 717

屏幕广播的实现(一)

屏幕广播是正在做的项目小海豚的功能之一。
  • u011479970
  • u011479970
  • 2014年04月21日 18:22
  • 661

用VC进行屏幕截取编程

屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用. 下面用VC来逐步介绍在Win...
  • aasmfox
  • aasmfox
  • 2013年05月14日 07:21
  • 425

VC实现多屏显示

直接贴源码吧,vc2008调试通过。只贴多屏显示相关操作类。 h文件如下: /********************************************** Copyright(...
  • dominating_
  • dominating_
  • 2016年11月21日 14:51
  • 938

vc++指定区域截屏

int CCaptureDeskDlg::SaveBitmapToFile(HBITMAP hBitmap, LPCWSTR lpFileName) //hBitmap 为刚才...
  • lcalqf
  • lcalqf
  • 2016年09月10日 13:49
  • 559

Linux下C语言实现LCD屏幕截图

From: http://blog.chinaunix.net/uid-24789420-id-3191806.html 一、概述         最近看到网上有人问怎么用C语...
  • zouwen198317
  • zouwen198317
  • 2013年01月08日 14:29
  • 964
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC实现对屏幕的截取
举报原因:
原因补充:

(最多只允许输入30个字)