如何调查窗口来查看附加的显示器以及它们运行的分辨率?
在C#中: Screen
Class表示单个系统上的显示设备或多个显示设备。 你想要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/library/en-us/sysinfo/sysinfo_8fjn.asp 。 GetSystemMetrics是一个您经常需要使用的方便的函数,每个版本的Windows都会显示新的东西。