【问题标题】:Enable/Disable multiple monitors via Win32 API or NVidia API?通过 Win32 API 或 NVidia API 启用/禁用多个显示器?
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-25
    • 2018-08-20
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    相关资源
    最近更新 更多