Доступ к разрешению экрана пользователя - C # 2010 - PullRequest
0 голосов
/ 14 июня 2010

Заранее спасибо за вашу помощь.

Мне интересно, как я могу получить доступ к разрешениям экрана, доступным на ПК пользователя.Я хотел бы получить список всех доступных разрешений, а также определить, на каком пользователь работает в данный момент.

Ответы [ 3 ]

1 голос
/ 14 июня 2010

Я полагаю, что вы можете сделать PInvoke вызов EnumDisplaySettings вызов API в User32.dll.

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

См. Пример здесь .

Конечно, у вас возникнут сложности с системами с двумя мониторами, но для получения текущего экрана вы можете сделать

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

Я предполагал, что вы говорите об исполняемом файле, а не о приложении ASP.Net, но если вам нужен размер экрана в Javascript, вы можете использовать объект screen .

screen.width; screen.height; screen.colorDepth; 
0 голосов
/ 14 июня 2010

Ларами: Я думаю, вы поставили меня на правильный путь!

Нашли эту ссылку: http://www.pinvoke.net/default.aspx/user32.enumdisplaysettings

0 голосов
/ 14 июня 2010

Вы можете использовать класс Microsoft.Win32 RegestryKey для получения текущего размера экрана из реестра.

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

Я бы охотился вокругтам, чтобы найти то, что вы хотите, но я бы не стал связываться с настройками, которые у них там есть.

...