如何唯一识别显示器?

时间:2016-03-24 17:17:56

标签: c# windows windows-7

我正在尝试编写一个程序,用于在显示器断开连接的情况下重新配置显示,并且Windows无法正确重新配置其先前的设置。

通常,如果拔下显示器,Windows似乎会跟踪显示器的配置设置。例如,我现在有三台显示器连接起来。如果我拔掉我的“主显示器”,Windows将使其余两个显示器中的一个成为主显示器。然后,如果我重新连接显示器,Windows通常会记住该显示器的配置,特别是在这种情况下,它是我的主显示器,并进行适当的设置。

我目前正在使用EnumDisplayDevicesEnumDisplaySettingsChangeDisplaySettingsEx来设置每个监视器的配置(分辨率,方向等)。但是,查看EnumDisplayDevicesEnumDisplaySettings填充DISPLAY_DEVICEDEVMODE结构的信息,似乎没有任何东西可以唯一地识别监视器本身。我将得到的值将唯一地标识每个显示器的当前配置(例如\。\ DISPLAY1和\。\ DISPLAY2 \。\ DISPLAY3),但是如果我拔掉具有标识符的监视器\。\ DISPLAY1,下次运行时我会得到值\。\ DISPLAY1和\。\ DISPLAY2。因此,该值不能用于以后无意识地识别特定监视器。

是否有一些关于每个监视器的独特信息,我可以使用它来识别它们?我觉得这样的信息可能存在的原因是,大部分时间如果我拔掉显示器并将其重新插入,Windows将保留其配置。

0 个答案:

没有答案