Как получить максимальное разрешение экрана, поддерживаемое монитором с помощью C # - PullRequest
1 голос
/ 24 сентября 2011

Мне нужно получить максимальное поддерживаемое разрешение экрана монитора, а не текущее разрешение, которое легко. Любая помощь будет оценена.

Редактировать: это обновленное решение, которое работало для меня.

        public Size GetMaximumScreenSizePrimary()
        {
            var scope = new System.Management.ManagementScope();
            var q = new System.Management.ObjectQuery("SELECT * FROM CIM_VideoControllerResolution");

            using (var searcher = new System.Management.ManagementObjectSearcher(scope, q))
            {
                var results = searcher.Get();
                UInt32 maxHResolution = 0;
                UInt32 maxVResolution = 0;

                foreach (var item in results)
                {
                    if ((UInt32)item["HorizontalResolution"] > maxHResolution)
                        maxHResolution = (UInt32)item["HorizontalResolution"];

                    if ((UInt32)item["VerticalResolution"] > maxVResolution)
                        maxVResolution = (UInt32)item["VerticalResolution"];
                }

                log.Debug("Max Supported Resolution " + maxHResolution + "x" + maxVResolution);
            }
            return new Size(maxHResolution, maxVResolution);
        }

Ответы [ 3 ]

3 голосов
/ 24 сентября 2011

Получите результаты из области управления.

            var scope = new System.Management.ManagementScope();
            var q = new System.Management.ObjectQuery("SELECT * FROM CIM_VideoControllerResolution");

            using (var searcher = new System.Management.ManagementObjectSearcher(scope, q))
            {
                var results = searcher.Get();
                foreach (var item in results)
                {
                    Console.WriteLine(item["Caption"]);
                }
            }

Дополнительную информацию о том, какая информация доступна, см. На странице CIM_VideoControllerResolution .

1 голос
/ 24 сентября 2011

Получите newWidth & newHeight разрешения экрана, как показано ниже, и используйте их там, где вам нужно

Screen scr = Screen.PrimaryScreen;
int newWidth = scr.Bounds.Width;
int newHeight = scr.Bounds.Height;
0 голосов
/ 24 сентября 2011

Использовать свойство основного экрана

http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.primaryscreen.aspx

С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...