windows驱动程序使用哪个编程接口切换活动显示

windows驱动程序使用哪个编程接口切换活动显示,windows,api,winapi,multiple-monitors,nvapi,Windows,Api,Winapi,Multiple Monitors,Nvapi,我有一个带有VGA端口和HDMI端口的笔记本电脑。因此,我能够在三个显示器之间切换,同时最多有两个显示器处于活动状态 我试图找到一种使用Windows API或.NET framework以编程方式切换活动显示的方法。但这似乎是不可能的。根据WWW上的其他论坛帖子,这只能通过使用属于图形卡的库来实现,例如“AMD显示库”(ADL)或nVidia设备的NVAPI 但我想知道Windows如何能够在系统设置中提供切换监视器的设置,尽管没有编程界面。Windows也在使用ADL/NVAPI吗 编辑 正

我有一个带有VGA端口和HDMI端口的笔记本电脑。因此,我能够在三个显示器之间切换,同时最多有两个显示器处于活动状态

我试图找到一种使用Windows API或.NET framework以编程方式切换活动显示的方法。但这似乎是不可能的。根据WWW上的其他论坛帖子,这只能通过使用属于图形卡的库来实现,例如“AMD显示库”(ADL)或nVidia设备的NVAPI

但我想知道Windows如何能够在系统设置中提供切换监视器的设置,尽管没有编程界面。Windows也在使用ADL/NVAPI吗

编辑


正如Deanna在评论中指出的,可能没有用于切换活动显示的API文档。显示驱动程序开发人员如何知道如何开发他们的驱动程序?不公开这些内容的原因是什么?

您应该能够使用并传递
CDS\u SET\u PRIMARY
来选择要使用的显示器。我不知道这是否提供了最好的接口。否则,您需要深入研究列出的多个监视器上的WDDM文档、COM文档或D3D公开的用户模式

但我想知道Windows如何能够在系统设置中提供切换监视器的设置,尽管没有编程界面

应该注意的是,在Windows下,显示驱动程序需要公开某些函数,以实现供Windows内核使用的低级API,从而使内核能够轻松完成这些任务

显示驱动程序开发人员如何知道如何开发他们的驱动程序?不公开这些东西的原因是什么

他们可以使用专门的DDK*(这里[|]是关于编写显示驱动程序的MSDN文档)。需要轻松交换监视器输出的API可能并不公开,因为很少有人需要它,因此他们宁愿将时间和金钱花在常用部分的修复bug上


*我想,虽然公共DDK有一些来自3dlabs的古老样本用于实现显示驱动程序,而且在线文档非常全面,但编写完整的显示驱动程序是一项主要任务,很可能需要MS的直接支持,这可能需要您成为MS ISV或硬件合作伙伴。

Windows支持驱动程序公开的所有显示适配器。如果它只暴露2,那么这是一个特定于驱动程序的问题。Windows本身没有“2显示活动”限制。@Deanna问题更多的是关于“如果没有界面,Windows如何实现这一点”(以及“如果有界面,我在哪里可以找到它/我如何使用它”)。“活动”意味着您可以同时在两个显示器上看到图形(我的GPU有此限制)。Windows可以这样做吗?还是它是驱动程序?正如我所说,Windows对活动用户的数量没有这样的限制。另外,事实上,Windows本身就可以做到这一点,并不意味着有一个公开的API文档。是的,我认为这就是驱动程序。我对这个限制没有问题!“公共文档化API”是我的问题。请用你的标题来描述这个问题