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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:OBS代码分析
下一篇:OBS编译遇到了问题以及解决办法

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月28日 01时28分08秒