相关疑难解决方法(0)

如何检测显示器是否是投影仪?

有没有办法使用Windows API来检测特定显示器是投影仪(投影仪)而不是屏幕?

(我正在编写一个投影映射桌面应用程序,我希望它能自动检测投影机是否已连接并处于活动状态,以便用户将现实与预览进行比较.)

我已经使用EnumDisplayMonitors和EnumDisplayDevices来查找监视器,但我找不到任何标志或其他显示类型的指示.我查看了DEVMODE和DISPLAY_DEVICE以及后者指向的注册表项.我没有看到可以区分屏幕和投影仪的DeviceCapabilities或GetDeviceCaps调用.我还查看了设备管理器,看看是否有一个属性区分我的常规显示器和投影机,但我找不到任何东西.所以也许没有办法做到这一点.

但是,屏幕分辨率控制面板小程序将投影机识别为"PROJECTOR",同时将我的主显示器识别为"Dell U3011".使用EnumDisplayDevices,我可以从DISPLAY_DEVICE获得"Dell U3011"字符串,但是,对于投影仪,我只得到"Generic PnP Monitor".不知何故,小程序必须在其他地方寻找获得"PROJECTOR"字符串,或者它显示"PROJECTOR"用于任何似乎是投影仪的通用PnP监视器.那它看起来在哪里,它是如何知道的?

c++ winapi multiple-monitors

10
推荐指数
1
解决办法
274
查看次数

如何获取Windows中的显示数量?

我想计算活动显示的数量.对于Mac,我可以使用以下内容:

CGDisplayCount nDisplays;
CGGetActiveDisplayList(0,0, &nDisplays);
log.printf("Displays connected: %d",(int)nDisplays);
Run Code Online (Sandbox Code Playgroud)

如何在Windows中实现相同的功能?我找到了EnumDisplayMonitors但我无法弄清楚如何使用它.

c++ windows winapi

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×2

winapi ×2

multiple-monitors ×1

windows ×1