通过Win32 API或NVidia API启用/禁用多个监视器?

时间:2011-07-11 16:19:14

标签: winapi windows-7 monitor nvidia

我正在尝试编写一个小工具,它将使用我的nVidia显卡在Windows 7下启用/禁用显示器。 (即“将桌面扩展到此监视器上”等)

原因是我的nVidia Geforce GTX 480有三个输出(2x DVI,1x Mini-HDMI),但只允许两个在任何给定时间都处于活动状态,所以当我想切换到我的时候需要启用/禁用显示器电视(HDMI)显示器。

Win32 API函数EnumDisplayDevices无法正常工作,因为它没有显示已禁用的监视器。

nVidia提供API(NVAPI)并具有枚举所有监视器(甚至是已禁用的监视器)的功能,您可以启用监视器,但不能禁用监视器。 (我指的是NvAPI_CreateDisplayFromUnAttachedDisplay)

UltraMon似乎已经找到了如何执行此操作,但我找不到任何信息。

1 个答案:

答案 0 :(得分:0)

我认为如果已连接三个显示器中的两个,则不会检测到第三个显示器。 卡将停止侦听新硬件。 你必须手动取出电缆,然后在另一个端口插入一个新电缆。 除非有办法“弹出”连接,类似于USB存储设备。