如何获得实际的MonitorID来更改显示设置

时间:2019-03-05 22:15:55

标签: c# .net windows operating-system system

我在尝试获取正确/真实的monitorID时遇到问题。在线所有内容都是关于从Screen对象获取设备名称或通过DISPLAY_DEVICE获取监视器信息。我有适当的代码可以使显示器成为主要显示器或不使显示器成为主要显示器,问题是获得了正确的真实显示器ID。显然,Windows更改了监视器ID,这意味着您的“ Display1”可能是0、1,2等。当我对此进行测试时,这是我发现的:

本地开发笔记本电脑: “ Display1”的ID为0 “ Display4”(外部显示器)的ID为3。如果我只有笔记本电脑和外部显示器,我不明白为什么它是“显示器4”。我认为它将是“ Display 2”。

在具有VGA和HDMI连接的CPU(我测试了其中的3个)上 “ Display1”的Ian D为1。

在另一个CPU上的“ Display1”不再是ID 1,而是一个完全不同的ID。

当我进入“显示”设置并单击“检测”时,它显示1和2。

我想也许可以抓住设备名称并将其子串化以获取编号,然后执行-1以获取真实ID,但这只能在我的开发笔记本电脑上使用。

有什么办法可以获取监视器的正确/真实ID?

0 个答案:

没有答案