访问用户可能的屏幕分辨率 - C#2010

时间:2010-06-14 18:04:35

标签: c#-4.0 screen resolution screen-resolution

提前感谢您的帮助。

我想知道如何访问用户PC上可用的屏幕分辨率。我想获得所有可用分辨率的列表,并确定用户当前运行的是什么。

3 个答案:

答案 0 :(得分:1)

我相信您可以在User32.dll中对 EninDisplaySettings api调用进行 PInvoke 调用。

[DllImport("user32.dll")]
public static extern bool EnumDisplaySettings (string deviceName, int modeNum, ref DEVMODE devMode );

参见示例here

您当然会遇到双显示器系统的复杂情况,但要获得当前屏幕,您可以做到

System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width

我假设您在谈论可执行文件而不是ASP.Net应用程序,但如果您需要Javascript中的屏幕大小,则可以使用屏幕对象。

screen.width; screen.height; screen.colorDepth; 

答案 1 :(得分:0)

您可以使用 Microsoft.Win32 RegestryKey 类从注册表中获取当前屏幕大小。

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Hardware Profiles\...

我会在那里寻找你想要的东西,但我不会弄乱他们所拥有的任何设置。

答案 2 :(得分:0)

拉勒米:我想你让我走上正轨!

找到此链接:http://www.pinvoke.net/default.aspx/user32.enumdisplaysettings