Задать вопрос

Как узнать правильное разрешение экрана в C#?

Мне нужно получить разрешение экрана для скриношота, но при попытке узнать разрешение таким способом:
System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size


Мне выдает разрешение:
864x1536
хотя мое разрещение 1080х1980.
  • Вопрос задан
  • 740 просмотров
Подписаться 1 Простой 15 комментариев
Решения вопроса 1
AlexanderProkopenko,

пример из
https://www.codeproject.com/Articles/6810/Dynamic-...
несмотря на почтенный возраст
работает вам может придется авторский код проапгрейдить проект (это просто)

от вызывает как описано в
https://www.pinvoke.net/default.aspx/user32.enumdi...:

[DllImport("user32.dll")]
	public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE1 devMode);
public struct DEVMODE1 {
	[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string dmDeviceName;
// детали
DEVMODE1 dm = new DEVMODE1();
User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm)) ;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы