获取屏幕dc并且将其画面显示在窗体中

HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND.
 HDC hScreenDC = ::GetDC(hWnd);   //获得屏幕的HDC.
 HDC MemDC = ::CreateCompatibleDC(hScreenDC);
 RECT rect; 
 ::GetWindowRect(hWnd,&rect);
 SIZE screensize;
 screensize.cx=rect.right-rect.left;
 screensize.cy=rect.bottom-rect.top;
 hBitmap = ::CreateCompatibleBitmap(hScreenDC,screensize.cx,screensize.cy);
 HGDIOBJ hOldBMP = ::SelectObject(MemDC,hBitmap);
 ::BitBlt(MemDC,0,0,screensize.cx,screensize.cy,hScreenDC,rect.left,rect.top,SRCCOPY);//将屏幕画布拷贝到内存画布上
 ::SelectObject(MemDC,hOldBMP);
 ::DeleteObject(MemDC);
 ::ReleaseDC(hWnd,hScreenDC);
    CDC *pDC=GetDC();//获取窗体的cdc
 HDC dDlgDC=pDC->m_hDC;//获取窗体的hdc
 HDC MemDC1 = CreateCompatibleDC(dDlgDC);//创建画布
 HGDIOBJ hOldBMP1 = ::SelectObject(MemDC1,hBitmap);//选入画布
 ::StretchBlt(dDlgDC,0,0,600,400,MemDC1,0,0,screensize.cx,screensize.cy,SRCCOPY);//将内存画布缩略显示到窗体中
 ::SelectObject(MemDC1,hOldBMP1);//选出画布
 ::DeleteObject(MemDC1);//删除内存hdc
 ::ReleaseDC(m_hWnd,dDlgDC);//释放实际窗体的hdc

windows AP:

HDC GetDC( HWND hWnd // handle to window);

Parameters

hWnd

[in] Handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen.

网摘-获取屏幕dc并且将其画面显示在窗体中的更多相关文章

  1. JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)_javascript技巧_

    JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)_javascript技巧_--HTML5中文学习网 http://www.html5cn.com.cn/shili/javascripts/79 ...

  2. Delphi 中DataSnap技术网摘

    Delphi2010中DataSnap技术网摘 一.为DataSnap系统服务程序添加描述 这几天一直在研究Delphi 2010的DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7 ...

  3. Python入门及容易!网摘分享给大家!

    Python:Python学习总结 背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Pyth ...

  4. c++获取屏幕大小

    API: 要取得屏幕大小,可以用下面几个函数: # include <windows.h>int cx = GetSystemMetrics( SM_CXFULLSCREEN ); int ...

  5. HTML 获取屏幕、浏览器、页面的高度宽度

    本篇主要介绍Web环境中屏幕.浏览器及页面的高度.宽度信息. 目录 1. 介绍:介绍页面的容器(屏幕.浏览器及页面).物理尺寸与分辨率.展示等内容. 2. 屏幕信息:介绍屏幕尺寸信息:如:屏幕.软件可 ...

  6. C#获取屏幕鼠标所指点的颜色

    有时候要获取屏幕某一点的坐标颜色值,可以如下实现: 在VS2012中创建一个C#的Windows窗口应用程序,然后在Form上添加PictureBox和Button两个控件,并加入以下代码. //需要 ...

  7. Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键

    //获取屏幕尺寸,不包括虚拟功能高度 getWindowManager().getDefaultDisplay().getHeight(); 获取屏幕原始尺寸高度,包括虚拟功能键高度, private ...

  8. C# 获取屏幕的大小

    原文地址:http://www.cnblogs.com/zp89850/archive/2011/08/23/2151052.html C# 获取屏幕的大小 WinForm: int iActulaW ...

  9. Swift获取屏幕快照

    // 获取屏幕快照 private func screenShot() -> UIImage{ let window = UIApplication.shared.keyWindow! UIGr ...

随机推荐

  1. 程序跳转到itunes商店

    找到应用程序,点击应用程序下面的小三角图标,再选择"复制链接",就可以获取此应用的链接了. 比如: itunes.apple.com/cn/app/bai-du-wen-kuhd/ ...

  2. ActiveX控件的消息处理函数

    首先切换到类视图 然后鼠标单击选中类(如果你要给ClockCtrl类添加事件,你就选中ClockCtrl类) PS:顺便多说一句,如果不用这种方法,而是手动添加,即使你的代码跟MFC添加的一模一样,那 ...

  3. BZOJ 1834网络扩容题解

    一道不算太难的题目 但是真的很恶心 显然,对于第一问,我们直接无脑打模板就好了 第二问也不是很难,我们将每条边再连一条容量为inf,费用为w的边 但是流量只要小于第一问的答案加k就行了 所以我们增加一 ...

  4. 利用IDEA构建springboot应用-配置文件

    application.properties配置文件(不建议采用这种配置) 配置文件采用:application.yml文件会更简便,要带空格 属性配置与类中取值 添加bean属性配置到一个类里面,采 ...

  5. 51nod 1686 第K大区间【离散化+二分】

    题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1686 题意: 定义一个区间的值为其众数出现的次数. 现给出n ...

  6. Unity3dShader学习合集暂存

    http://www.cnblogs.com/flappy/archive/2012/08/10/2631348.html 1. Unity3d的參考手冊, 里面涵盖Unity3d官方的描写叙述 ht ...

  7. 2018-9-4-Roslyn-通过-nuget-统一管理信息

    title author date CreateTime categories Roslyn 通过 nuget 统一管理信息 lindexi 2018-09-04 08:55:19 +0800 201 ...

  8. Python语言的缺点

  9. 学习canvas画布

    我们可以用画布(Canvas)绘制各种图形,下面代码是绘制的一个圆形: <!DOCTYPE html> <html> <head> <title>Can ...

  10. oracle自动选择索引

    如果表中有两个以上(包括两个)索引,其中有一个唯一性索引,而其他是非唯一性. 在这种情况下,ORACLE将使用唯一性索引而完全忽略非唯一性索引. 举例: SELECT ENAME FROM EMP W ...