windows下面如何将桌面上显示的数据从内存取出来
发布日期:2021-06-30 12:04:08
浏览次数:2
分类:技术文章
本文共 800 字,大约阅读时间需要 2 分钟。
根据之前的一些技术达人的回答,本人进行了整理。
1、如果是D3D或OpenGL是相应的函数可取;
2、如果是GDI生成的话,可逆性就差点。3、需要用dx sdk或显卡驱动获取
4、直接对桌面进行截图
5、通过REP协议的部分代码进行获取
还有部分的代码如下:
//GDI与DX截屏API操作LPDIRECTDRAW lpDD = NULL;LPDIRECTDRAWSURFACE lpDDSPrime = NULL;LPDIRECTDRAWSURFACE lpDDSBack = NULL;LPDIRECTDRAWSURFACE lpDDSGdi = NULL;LPDIRECTDRAWSURFACE lpSurf = NULL;DDSURFACEDESC DDSdesc;BOOL m_b24=TRUE;//rfbServerInitMsg m_scrinfo;RECT m_bmrect;struct _BMInfo { BITMAPINFO bmi ; BOOL truecolour; RGBQUAD cmap[256] ;} m_bminfo; // 用来保存位图信息的结构int DX_Init() {// DirectX初始化。返回当前表面获取一张屏幕位图的存储空间大小 HRESULT hr; // 初始化directX hr = DirectDrawCreate(0, &lpDD, 0); if (FAILED(hr)) return FALSE; hr = lpDD->SetCooperativeLevel(NULL, DDSCL_NORMAL); if (FAILED(hr)) return FALSE; ZeroMemory(&DD
转载地址:https://jackzhang.blog.csdn.net/article/details/52753664 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月28日 01时28分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
5.阿里云上安装zookeeper
2019-04-30
7.阿里云上安装RabbitMQ
2019-04-30
JDK8 管道 Stream 详细使用介绍
2019-04-30
2.启停项目脚本
2019-04-30
配置了阿里云安全组端口,浏览器还是不能访问的问题
2019-04-30
mysql出表锁表MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
2019-04-30
cron表达式基础配置知识
2019-04-30
lombok基础使用
2019-04-30
jar启停服务
2019-04-30
1.项目中高级编码之缓存get/set
2019-04-30
1.项目中高级编码之jdk8特性运用
2019-04-30
14.docker网络基本知识
2019-04-30
15.docker实战之redis集群
2019-04-30
16.Dockerfile 实战之发布springboot项目
2019-04-30
15.1docker部署单机redis
2019-04-30
17.docker实战之安装ES
2019-04-30
18.docker实战之idea添加docker插件
2019-04-30
java 高效工具库
2019-04-30
19.docker之dockerCompose基础
2019-04-30
20.docker之DockerCompose基础进阶
2019-04-30