int GetBitmapFromScreen() 

char *lpBuf; 
HBITMAP hBitmap,hOld ; 
HDC hDC,hcDC; 
BITMAP bb;BITMAPINFO b; 
HANDLE hp,fh=NULL; 
DWORD dwX,dwY; 
//*************** 
//dwX=GetSystemMetrics(SM_CXSCREEN); 
//dwY=GetSystemMetrics(SM_CYSCREEN); 
dwX=100; 
dwY=100; 
hDC=GetDC(0); 
hcDC=CreateCompatibleDC(hDC); 
hBitmap=CreateCompatibleBitmap(hDC,dwX,dwY); 
hOld=(HBITMAP)SelectObject(hcDC,hBitmap); 
BitBlt(hcDC,0, 0,dwX,dwY, hDC, 0, 0, SRCCOPY); 
bb.bmWidth=dwX; 
bb.bmHeight =dwY; 
bb.bmPlanes = 1; 
bb.bmWidthBytes=bb.bmWidth*3; 
bb.bmBitsPixel=3; 
bb.bmType=0; 
b.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); 
b.bmiHeader.biWidth=dwX; 
b.bmiHeader.biHeight =dwY; 
b.bmiHeader.biPlanes = 1; 
b.bmiHeader.biBitCount =24; 
b.bmiHeader.biCompression = BI_RGB; 
b.bmiHeader.biSizeImage = 0; 
b.bmiHeader.biXPelsPerMeter = 0; 
b.bmiHeader.biYPelsPerMeter = 0; 
b.bmiHeader.biClrUsed = 0; 
b.bmiHeader.biClrImportant = 0; 
b.bmiColors[0].rgbBlue=8; 
b.bmiColors[0].rgbGreen=8; 
b.bmiColors[0].rgbRed=8; 
b.bmiColors[0].rgbReserved=0; 
hp=GetProcessHeap(); 
lpBuf=(char *)HeapAlloc(hp,HEAP_ZERO_MEMORY,bb.bmHeight*bb.bmWidth*4); 

GetDIBits(hcDC,hBitmap,0,dwY,lpBuf,&b,DIB_RGB_COLORS); 

///////////////////////////////////显示到桌面////////////////////////////////
CClientDC dc(NULL);
for (int i=0;i<100;i++)
{
for (int k=0;k<100;k++)
{
BYTE b = *lpBuf++;
BYTE g = *lpBuf++;
BYTE r = *lpBuf++;
dc.SetPixel(k+200,i+200,RGB(r,g,b));
//*lpBuf++;
}
}
/////////////////////////////////////////////////////////////////////////

ReleaseDC(NULL,hDC); 
DeleteDC(hcDC); 
DeleteObject(hBitmap); 
DeleteObject(hOld); 
HeapFree(hp,0,lpBuf); 
return true; 
}

GetBitmapFromScreen的更多相关文章

  1. Drectx 3D窗口后台截图

    //GDI与DX截屏API操作 LPDIRECTDRAW lpDD = NULL; LPDIRECTDRAWSURFACE lpDDSPrime = NULL; LPDIRECTDRAWSURFACE ...

随机推荐

  1. wxpython发布还自己图标的程序

    在py2exe安装脚本文件中,修改代码: setup( windows=[ { 'script': 'myapp.py', 'icon_resources': [(1, 'myicon.ico')] ...

  2. 12、SEO工程师指南 - 软件项目角色指南系列文章

    第11章       SEO工程师   SEO工程师是一个比较新兴的职位,在实际的项目管理过程中,SEO工程师的地位相对靠后,只有在项目试运行以及运营期间才能体现出SEO工程师的作用.在项目完成之后, ...

  3. Hadoop学习笔记二

    一.设置无密码sudo权限,不用在普通用户和root用户间来回切换 chmod u+w /etc/sudoers vim /etc/sudoers #首行添加如下的内容: hadoop ALL=(ro ...

  4. 《EntrePreneur》发刊词

    I do not choose to be a common person. It is my right to be uncommon - if I can. I seek opportunity ...

  5. 洛谷 [P3110] 驮运

    题目略带一点贪心的思想,先跑三遍最短路(边权为一,BFS比SPFA高效) 一起跑总比分开跑高效,枚举两人在何点汇合,输出最小值. #include <iostream> #include ...

  6. 洛谷 [p1196] 银河英雄传说

    所谓带权并查集 本题所求的不止是两个编号之间是否有关系,还要求两个编号之间有什么关系,这就要求我们维护多个数组,fa[]数组维护两个编号之间的连通性,dis[]维护编号为i的战舰到fa[i]之间的距离 ...

  7. Eclipse多平台编译(armeabi, armeabi-v7a, x86, mips)

    Jni目录下新增Application.mk,加入 APP_ABI := armeabi armeabi-v7a x86 mips 上面的平台可加可减,全编的话可以写为 APP_ABI := all ...

  8. spring boot学习资源

    http://blog.csdn.net/u014695188/article/details/52226134 http://www.jianshu.com/p/887c22723e43 Sprin ...

  9. ansible实践2-拷贝文件或目录

      ansible testhost -m copy -a "src=/etc/ansible  dest=/tmp/ansibletest owner=root group=root mo ...

  10. 【学习笔记】Hibernate 注解 (Y2-1-9)

    Hibernate注解 1.什么是注解在类上或者方法上打上其他类型的类型元数据 @标志 使用过的注解: @override  方法重写 @Test Junit 单元测试 @Before 单元测试 @A ...