如何检测当前显示设置(即扩展,重复等)

时间:2014-04-11 16:38:54

标签: c# windows

我有一个C#应用程序,它使用DisplaySwitch.exe在运行时将显示设置更改为内部。

问题是它需要在更改之前检测计算机的当前设置,因此当应用程序完成后,它可以将其恢复到原始设置。

我在尺寸,分辨率等显示设置上找到了不同的示例,但不是显示器是在内置显示器,外接显示器,扩展还是重复上。

我需要在从XP到当前的所有Windows版本上执行此操作。

1 个答案:

答案 0 :(得分:1)

据我所知,在C#中显式是不可能的。换句话说,没有任何可以回复的电话"扩展"或"复制"。

但是,如果您了解有关目标系统的足够信息,则此状态可以推断。由于您关心重复/扩展,我们可以假设它们始终处于多显示器设置。因此,在开始时获取监视器计数:

Screen.AllScreens.Length

如果是2,答案很简单。用户必须处于扩展模式!如果是1,则您处于其他3种模式中的一种模式,需要决定要返回哪种模式。重复似乎是最可能的选择。

希望这有帮助!