Изменить разрешение экрана в Windows 10 через командную строку можно быстро и без установки сторонних утилит. Для этого используют встроенные инструменты системы — QRes, nircmd или стандартные команды PowerShell. способ подходит, когда графический интерфейс недоступен или нужно автоматизировать процесс.

Расскажу, как это сделать тремя способами: с помощью утилиты QRes, через и с использованием сторонней nircmd. Каждый метод имеет свои нюансы — от простоты до гибкости настроек. Забегая вперёд: самый надёжный вариант для большинства пользователей — QRes, но обо всё по порядку.

Подготовка: проверяем текущее разрешение

Перед тем как менять настройки, убедитесь, что знаете текущее разрешение экрана. Это поможет избежать ошибок, если что-то пойдёт не так. Проверить параметры можно через командную строку:

Откройте Командную строку (Win + R → введите cmd → Enter) и выполните:

wmic path Win32_DesktopMonitor get ScreenWidth,ScreenHeight

Команда выведет ширину и высоту в пикселях. Например, 1920x1080 — это Full HD. Если мониторов несколько, выведет данные для каждого.

Также можно использовать PowerShell:

Get-WmiObject -Class Win32_DesktopMonitor | Select-Object ScreenWidth, ScreenHeight

Эти данные пригодятся, если потребуется вернуть исходные параметры.

💡

Если командная строка не отображает данные, попробуйте запустить её от имени администратора. Для этого щёлкните правой кнопкой по значку «Пуск» и выберите «Командная строка (администратор)».

ПараметрОписаниеПример
/x:ширинаЗадаёт ширину экрана в пикселях/x:1920
/y:высотаЗадаёт высоту экрана в пикселях/y:1080
/r:частотаУстанавливает частоту обновления экрана в Гц/r:60
/m:номерНомер монитора (начиная с 0)/m:1

Способ 1: Используем утилиту QRes

QRes — бесплатная утилита от Microsoft, специально предназначенная для изменения разрешения экрана через командную строку. Она поддерживает большинство видеокарт и мониторов, включая многомониторные системы.

Шаги:

  1. Скачайте QRes с официального сайта Microsoft (поискать QRes.exe в поисковике). Распакуйте архив в удобную папку, например, C:\Tools\.
  2. Откройте командную строку в этой папке. Для этого удерживайте Shift, щёлкните правой кнопкой по пустой области в папке и выберите «Открыть окно команд».
  3. Выполните команду для изменения разрешения. Например, чтобы установить 1280x720:
QRes.exe /x:1280 /y:720

Если нужно применить настройки ко второму монитору (если он подключён), добавьте параметр /m:1:

QRes.exe /x:1280 /y:720 /m:1

Утилита поддерживает и другие параметры:

Способ 2: PowerShell

Windows 10 позволяет менять разрешение через с использованием API-функций. Это метод для продвинутых пользователей, так как требует работы с низкоуровневыми настройками.

Сначала нужно получить список доступных режимов экрана. Для этого выполните в PowerShell:

Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class DisplaySettings {
 [DllImport("user32.dll")]
 public static extern int EnumDisplaySettings(string lpszDeviceName, int iModeNum, ref DEVMODE lpDevMode);
 [StructLayout(LayoutKind.Sequential)]
 public struct DEVMODE {
 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
 public string dmDeviceName;
 public short dmSpecVersion;
 public short dmDriverVersion;
 public short dmSize;
 public short dmDriverExtra;
 public int dmFields;
 public int dmPositionX;
 public int dmPositionY;
 public int dmDisplayOrientation;
 public int dmDisplayFixedOutput;
 public short dmColor;
 public short dmDuplex;
 public short dmYResolution;
 public short dmTTOption;
 public short dmCollate;
 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
 public string dmFormName;
 public short dmLogPixels;
 public int dmBitsPerPel;
 public int dmPelsWidth;
 public int dmPelsHeight;
 public int dmDisplayFlags;
 public int dmDisplayFrequency;
 public int dmICMMethod;
 public int dmICMIntent;
 public int dmMediaType;
 public int dmDitherType;
 public int dmReserved1;
 public int dmReserved2;
 public int dmPanningWidth;
 public int dmPanningHeight;
 }
}
"@
$devMode = New-Object DisplaySettings+DEVMODE
$devMode.dmSize = [System.Runtime.InteropServices.Marshal]::SizeOf($devMode)
$modeNum = 0
while ([DisplaySettings]::EnumDisplaySettings($null, $modeNum, [ref]$devMode) -ne 0) {
 if ($devMode.dmPelsWidth -gt 0 -and $devMode.dmPelsHeight -gt 0) {
 Write-Host "Режим: $($devMode.dmPelsWidth)x$($devMode.dmPelsHeight) @ $($devMode.dmDisplayFrequency) Гц"
 }
 $modeNum++
}

Этот скрипт выведет все доступные режимы для вашего монитора. Например:

Режим: 1920x1080 @ 60 Гц
Режим: 1600x900 @ 60 Гц
Режим: 1280x720 @ 60 Гц

Теперь можно применить нужный режим. Для этого используйте следующий скрипт (замените 1280, 720 и 60 на свои значения):

Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class Display {
 [DllImport("user32.dll")]
 public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE devMode);
 [DllImport("user32.dll")]
 public static extern int ChangeDisplaySettingsEx(string lpszDeviceName, ref DEVMODE lpDevMode, IntPtr hwnd, DisplaySettingsFlags dwflags, IntPtr lParam);
 public const int ENUM_CURRENT_SETTINGS = -1;
 public const int CDS_UPDATEREGISTRY = 0x00000001;
 public const int CDS_TEST = 0x00000002;
 public const int DISP_CHANGE_SUCCESSFUL = 0;
 public const int DISP_CHANGE_RESTART = 1;
 public const int DISP_CHANGE_FAILED = -1;
 [StructLayout(LayoutKind.Sequential)]
 public struct DEVMODE {
 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
 public string dmDeviceName;
 public short dmSpecVersion;
 public short dmDriverVersion;
 public short dmSize;
 public short dmDriverExtra;
 public int dmFields;
 public int dmPositionX;
 public int dmPositionY;
 public int dmDisplayOrientation;
 public int dmDisplayFixedOutput;
 public short dmColor;
 public short dmDuplex;
 public short dmYResolution;
 public short dmTTOption;
 public short dmCollate;
 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
 public string dmFormName;
 public short dmLogPixels;
 public int dmBitsPerPel;
 public int dmPelsWidth;
 public int dmPelsHeight;
 public int dmDisplayFlags;
 public int dmDisplayFrequency;
 public int dmICMMethod;
 public int dmICMIntent;
 public int dmMediaType;
 public int dmDitherType;
 public int dmReserved1;
 public int dmReserved2;
 public int dmPanningWidth;
 public int dmPanningHeight;
 }
 [Flags()]
 public enum DisplaySettingsFlags : uint {
 CDS_NONE = 0,
 CDS_UPDATEREGISTRY = 0x00000001,
 CDS_TEST = 0x00000002,
 CDS_FULLSCREEN = 0x00000004,
 CDS_GLOBAL = 0x00000008,
 CDS_SET_PRIMARY = 0x00000010,
 CDS_VIDEOPARAMETERS = 0x00000020
 }
}
"@
$devMode = New-Object Display+DEVMODE
$devMode.dmSize = [System.Runtime.InteropServices.Marshal]::SizeOf($devMode)
[Display]::EnumDisplaySettings($null, [Display]::ENUM_CURRENT_SETTINGS, [ref]$devMode) | Out-Null
$devMode.dmPelsWidth = 1280
$devMode.dmPelsHeight = 720
$devMode.dmDisplayFrequency = 60
$devMode.dmFields = 0x400000
$result = [Display]::ChangeDisplaySettingsEx($null, [ref]$devMode, [IntPtr]::Zero, [Display+DisplaySettingsFlags]::CDS_UPDATEREGISTRY, [IntPtr]::Zero)
if ($result -eq [Display]::DISP_CHANGE_SUCCESSFUL) {
 Write-Host "Разришение изменено успешно!"
} else {
 Write-Host "Ошибка: код $result"
}

Этот способ сложнее, чем QRes, но он не требует установки сторонних утилит. Однако если вы не уверены в своих силах, лучше использовать следующий метод.

Способ 3: Утилита nircmd

nircmd — это универсальная утилита для управления Windows из командной строки. Она поддерживает изменение разрешения экрана, но требует предварительной настройки.

Шаги:

  • Скачайте nircmd с официального сайта разработчика (поискать nircmd.x86.exe или nircmd.x64.exe в зависимости от разрядности системы).
  • Поместите файл nircmd.exe в папку C:\Windows\ или добавьте её в переменную окружения PATH.
  • Откройте командную строку и выполните команду для изменения разрешения. Например:
nircmd.exe setdisplay resize 1280 720

Если нужно вернуть исходные настройки, используйте:

nircmd.exe setdisplay default

nircmd также позволяет задавать частоту обновления экрана:

nircmd.exe setdisplay resize 1280 720 60

Где 60 — частота в Гц.

Какой способ вы выберете для изменения разрешения экрана?
QRes
PowerShell
nircmd
Другой способ

Сравнение методов: что лучше?

Каждый из описанных способов имеет свои плюсы и минусы. Чтобы вам было проще выбрать, сравнил их в таблице:

КритерийQResPowerShellnircmd
Простота использования⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Требует установкиДа (файл QRes.exe)НетДа (файл nircmd.exe)
Поддержка многомониторных системДаДаОграничена
Гибкость настроекВысокаяВысокаяСредняя
Сложность для новичковНизкаяВысокаяСредняя

Если вам нужно быстро и просто изменить разрешение, выбирайте QRes. Для автоматизации задач в скриптах подойдёт nircmd. А PowerShell — для тех, кто любит копаться в деталях и не боится сложных команд.

Возможные ошибки и их решения

При изменении разрешения через командную строку могут возникать ошибки. Вот самые частые из них и способы их устранения:

  1. «Не удаётся найти указанный файл» — проверьте, что файл утилиты (QRes.exe или nircmd.exe) находится в текущей папке или в переменной PATH.
  2. «Не поддерживается данный режим» — проверьте, поддерживает ли ваш монитор и видеокарта выбранное разрешение. Используйте команду для получения списка доступных режимов.
  3. «Нет доступа» — запустите командную строку от имени администратора.
  4. Чёрный экран после изменения — подождите 15 секунд, система автоматически вернёт предыдущие настройки. Если этого не произошло, перезагрузите компьютер в безопасном режиме и верните настройки вручную.
⚠️ Внимание: Изменение разрешения через командную строку может привести к временной потере изображения на экране. Не изменяйте параметры, если не уверены, что они поддерживаются вашей системой. В случае проблем всегда можно вернуть исходные настройки с помощью команды QRes.exe /default или nircmd.exe setdisplay default.

Как автоматизировать смену разрешения

Если вы часто меняете разрешение экрана, можно создатьниковый файл (.bat) для быстрого переключения. Например, создайте файл set_1280x720.bat со следующим содержимым:

@echo off
QRes.exe /x:1280 /y:720

Теперь достаточно дважды кликнуть по этому файлу, чтобы изменить разрешение.

Для переключения между несколькими режимами можно создать меню:

@echo off
echo Выберите разрешение:
echo 1. 1920x1080
echo 2. 1280x720
echo 3. 1024x768
set /p choice=Введите номер:
if %choice%==1 (QRes.exe /x:1920 /y:1080)
if %choice%==2 (QRes.exe /x:1280 /y:720)
if %choice%==3 (QRes.exe /x:1024 /y:768)

Автоматизация изменения разрешения через командную строку экономит время и избавляет от необходимости вручную настраивать параметры каждый раз.

Практическое руководство: пошаговая инструкция

Чтобы не упустить ни одной детали, собрал пошаговую инструкцию для самого надёжного способа — через QRes.

Как изменить разрешение экрана через QRes

Выполнено: 0 / 5

Часто задаваемые вопросы

Можно ли изменить разрешение экрана без сторонних утилит?

Да, можно использовать или встроенные функции Windows API, как описано в способе 2. Однако это требует знания команд и работы с низкоуровневыми настройками, что может быть сложно для новичков.

Почему после изменения разрешения экран стал чёрным?

Это происходит, если выбранное разрешение не поддерживается вашим монитором или видеокартой. Подождите 15 секунд — автоматически вернёт предыдущие настройки. Если этого не произошло, перезагрузите компьютер в безопасном режиме и верните настройки вручную.

Как вернуть исходное разрешение экрана?

Если вы использовали QRes, выполните команду QRes.exe /default. Для nircmd подойдёт nircmd.exe setdisplay default. Если вы меняли настройки через PowerShell, перезагрузите компьютер — система настройки.

Можно ли изменить разрешение для второго монитора?

Да, в QRes для этого нужно указать параметр /m:1 (для второго монитора). Пример: QRes.exe /x:1280 /y:720 /m:1. В nircmd данная функция ограничена, поэтому лучше использовать QRes.