有没有办法使用
Windows API来检测特定的显示器是投影仪(投影仪)而不是屏幕?
(我正在编写投影映射桌面应用程序,我希望它能自动检测投影机是否已连接并处于活动状态,以便用户将现实与预览进行比较.)
我已经使用EnumDisplayMonitors和EnumDisplayDevices来查找监视器,但是我找不到任何标志或显示类型的其他指示.我查看了DEVMODE和DISPLAY_DEVICE以及后者指向的注册表项.我没有看到可以区分屏幕和投影仪的DeviceCapabilities或GetDeviceCaps调用.我还查看了设备管理器,看看是否有一个属性可以区分我的常规显示器和投影机,但我找不到任何东西.所以也许没有办法做到这一点.
但是,屏幕分辨率控制面板小程序将投影仪识别为“PROJECTOR”,同时将我的主显示器识别为“Dell U3011”.使用EnumDisplayDevices,我可以从DISPLAY_DEVICE获得“Dell U3011”字符串,但是,对于投影仪,我只得到“Generic PnP Monitor”.不知何故,applet必须在其他地方寻找获得“PROJECTOR”字符串,或者它显示“PROJECTOR”用于任何似乎是投影仪的Generic PnP Monitor.那它看起来在哪里,它是如何知道的?