找到数量和决议的所有监视器
-
20-09-2019 - |
题
如何将一个调查窗户看到什么监视器连接以及什么样的决议,他们正在运行?
解决方案
在C#:的 Screen
类强> 表示在单个系统上的显示装置或多个显示设备。您希望Bounds
属性。
foreach(var screen in Screen.AllScreens)
{
// For each screen, add the screen properties to a list box.
listBox1.Items.Add("Device Name: " + screen.DeviceName);
listBox1.Items.Add("Bounds: " + screen.Bounds.ToString());
listBox1.Items.Add("Type: " + screen.GetType().ToString());
listBox1.Items.Add("Working Area: " + screen.WorkingArea.ToString());
listBox1.Items.Add("Primary Screen: " + screen.Primary.ToString());
}
其他提示
使用 屏幕类.
你可以看到所有的监控器在这 Screen.AllScreens
阵列,并检查该决议和位置的每一个使用的 Bounds
财产。
注意到一些视频卡将合并两个监视器进入一个非常广泛的屏幕,使Windows认为,只有一个监测。如果你想,你可以检查是否宽的屏幕是超过两倍的高度;如果是这样,它可能是一个横跨你可以把它作为两个相等的屏幕。然而,这是更加复杂,你不需要这样做。垂直的跨度也支持但是不常见的。
http://msdn.microsoft.com/en-us/magazine /cc301462.aspx
GetSystemMetrics的是一个方便的功能,您可以用它来获得各种全球性的,就像一个窗口标题的图标或高度的大小。在Windows 2000中,有新的参数,如SM_CXVIRTUALSCREEN和SM_CYVIRTUALSCREEN得到屏幕多显示器系统的虚拟大小。新手的Windows和利弊,太应该检查出的文档,GetSystemMetrics的看到所有不同的系统指标(尺寸),就可以得到。请参阅平台SDK的最新的 http://msdn.microsoft。 COM /库/ EN-US / SYSINFO / sysinfo_8fjn.asp 。 GetSystemMetrics的是你经常需要使用一个方便的功能,新的东西出现与每个版本的Windows。
不隶属于 StackOverflow