Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)

news/2024/11/29 1:51:21/

                                                                                   by fanxiushu 2019-06-24 转载或引用请注明原始作者。


这里与远程桌面关系不是太大,但这个部分是xdisp_virt远程控制程序的实现多显示器桌面扩展的子功能,因此也归为远程桌面开发一类。
这篇文章与之前发布的
https://blog.csdn.net/fanxiushu/article/details/82731673 
WIN7以上系统WDDM虚拟显卡开发(WDDM Filter/Hook Driver 显卡过滤驱动开发之一)
联系比较紧密,同样是为了实现虚拟显示器,扩展桌面,WDDM HOOK采用windows类似黑客的hook办法。
由于没有一个通用和统一的接口。WDDM版本也多,显卡的种类也多。
要保证在大部分显卡上正常工作,几乎得去各类显卡上测试一遍,才能保证WDDM HOOK尽可能的正常使用。
由于我没这么多显卡来测试,也懒得去做测试,因此也就只匹配测试了自己使用的WIN7电脑的显卡。
而到了Windows 10 1607版本之后,微软提供了Indirect Display Driver的模型来实现虚拟显示器的功能,
这样也就用不着再在WDDM HOOK上打主意了。这也是本文重点讲述的功能。

可是Windows 10 1607之前的版本要实现虚拟显示器,该怎么办呢?
除了 WDDM HOOK难道就没别的办法了吗?
就像“WIN7以上系统WDDM虚拟显卡开发”文章中所说的那样:一开始想到的是开发一个虚拟显卡驱动。


http://www.ppmy.cn/news/179971.html

相关文章

低分辨率的显示器模拟高分辨率显示模式

我的上网本只有1024x768的分辨率,运行文华6要求更高分辨率显示器。 通过对显示器安装驱动,获得虚拟的高分辨率支持。 1、打开显示器的属性,选择:设置->高级->监视器;2、这里我们可以看到监视器类型是默认的”即插…

windows虚拟显示器开发(三)USB显示器

我们常用的显示器接口有HDMI、VGA等接口,这些接口是直接在显卡上的,当显示器插在显卡上,显卡就直接可以将显示信号输出到显示器了。 关于USB显示器跟HDMI之类的显示器有本质区别,我们需要实现的有两个: 在USB上插入一…

模拟——显示器

显示器 你的一个朋友买了一台电脑。他以前只用过计算器,因为电脑的显示器上显示的数字的样子和计算器是不一样,所以当他使用电脑的时候会比较郁闷。为了帮助他,你决定写一个程序把在电脑上的数字显示得像计算器上一样。 Input 输入包括若干行…

虚拟显示器软件(win10及以上)

​ Starting with version 2, the virtual monitor supports the following display resolutions by default: 默认的显示为 1920 * 1080 (1k),版本2可以通过配置更改为4k。 1024 x 768 pixels 1360 x 768 pixels 1440 x 900 pixels 1600 …

手机作为显示器及键鼠控制电脑棒(by quqi99)

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 (作者:张华 发表于:2019-04-14) 买了一款Intel compute stick core m3, 具有HDMI接口输出音频, 但如何使用手机临时地作为显示器及键盘鼠…

LCD显示器的模拟和数字接口

LCD显示器的模拟和数字接口 1 模拟接口 模拟和数字视频信源已经存在了很长时间,模拟视频常用于台式机,而数字视频则在笔记本电脑中比较流行。当前大量计算机使用的模拟视频输出,因此保证了模拟接口支持能够满足未来几年的需求。但是最近…

redis第三章-redis集群redisCluster

1.redis集群模式比较 (1)哨兵模式 哨兵模式是利用哨兵来做主从切换的,当主节点发生故障的时候,通过哨兵去选取出一个从节点作为主节点,但本身哨兵的配置还是有些麻烦,并且实际上哨兵的性能和高可用性一般…

2023上海“磐石行动”pwn wp

Changeaddr 任意地址写,控制程序执行getflag函数 from pwn import * context.log_leveldebug #rprocess("./ChangeAddr") rremote(116.236.144.37,28526) r.recvuntil("Now you can write one 4 byte value to memory. Where would you like to …