【发布时间】:2011-10-02 22:50:15
【问题描述】:
我正在尝试编写一个小型实用程序,该实用程序将使用我的 nVidia 显卡在 Windows 7 下启用/禁用监视器。 (即“将桌面扩展到此显示器上”等)
原因是我的 nVidia Geforce GTX 480 有三个输出(2x DVI,1x Mini-HDMI),但在任何给定时间只允许两个处于活动状态,所以当我想切换到我的显示器时,我需要启用/禁用显示器电视 (HDMI) 显示器。
Win32 API 函数 EnumDisplayDevices 不起作用,因为它不显示禁用的监视器。
nVidia 提供 API (NVAPI) 并具有枚举所有监视器(甚至禁用的监视器)的功能,您可以启用监视器但不能禁用监视器. (我指的是 NvAPI_CreateDisplayFromUnAttachedDisplay)
UltraMon 似乎已经知道如何执行此操作,但我找不到任何信息。
【问题讨论】:
-
嗨!您找到任何解决方案了吗?我正在尝试制作类似的应用程序来远程管理来自 android 设备的监视器布局。
-
如果 EnumDisplayDevice() 没有返回禁用的显示器,SetupDi* 函数应该为您提供必要的设备名称,包括 PNP 设备 ID
标签: winapi windows-7 monitor nvidia