获取屏幕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. mysql操作手册

    开启日志:https://segmentfault.com/a/1190000003072237 常用词:  Mysql:一种免费的跨平台的数据库系统  E:\mysql:表示是在dos 命令窗口下面 ...

  2. List容器-LinkedList链表

    LinkedList--链表 特点: 删除,增加 用LinkedList性能高  层次查找不适合       查询用ArrayList  数组下标查找  插入和删除慢缺点是要做移位操作 总结:Link ...

  3. 2018-8-10-win10-uwp-如何创建修改保存位图

    title author date CreateTime categories win10 uwp 如何创建修改保存位图 lindexi 2018-08-10 19:16:50 +0800 2018- ...

  4. python 使用异常代替返回状态码

  5. shared_ptr的线程安全性

    一: All member functions (including copy constructor and copy assignment) can be called by multiple t ...

  6. 单颗GPU计算能力太多、太贵?阿里云发布云上首个轻量级GPU实例

    摘要: 阿里云发布了国内首个公共云上的轻量级GPU异构计算产品——VGN5i实例,该实例打破了传统直通模式的局限,可以提供比单颗物理GPU更细粒度的服务,从而让客户以更低成本.更高弹性开展业务. 在硅 ...

  7. 从零学React Native之11 TextInput

    TextInput 组件是用来通过键盘输入文字,可以使用View组件和Text组件样式,没有自己特定的样式. 与Text组件类似,TextInput组件内部的元素不再使用FlexBox布局,而采用文本 ...

  8. Linux保证运行一个实例

    1. ; // 默认最大路径长度 inline std::string current_exe_name() { }; int ret = readlink("/proc/self/exe& ...

  9. HDU-1260_Tickets

    Tickets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Des ...

  10. 20182019-acmicpc-asia-dhaka-regional F .Path Intersection 树链剖分

    直接进行树链剖分,每次对路径区间内的所有点值+1,线段树进行维护,然后查询线段树的最大值的个数!!! 查询线段树区间最大值个数,可以先维护区间和,在维护区间最值,如果区间和等于区间最值乘以区间长度,那 ...