Используйте QRes, затем скажите:
QRes.exe /x:800 /y:600
Я использую программу Microsoft Live Mesh для удаленного доступа к ПК под управлением Windows 7, работающему на 2 экранах: один с разрешением 1920x1080, а другой с разрешением 1920x1200.
Я получаю к ним доступ через старый ноутбук с разрешением 1024x1078. В результате появляются такие крошечные значки / команды, что трудно попытаться изменить разрешение экрана с 2 дисплеев с высоким разрешением на один дисплей с низким разрешением.
Было бы здорово, если бы был способ командной строки сделать это. Или, возможно, есть способ через живую сетку, чтобы сделать это. Есть идеи?
Используйте QRes, затем скажите:
QRes.exe /x:800 /y:600
Это можно сделать с помощью бесплатного инструмента nircmd .
Чтобы изменить отображение на 1024 x 768 с глубиной цвета 24 бита:
nircmd.exe setdisplay 1024 768 24
У nircmd также есть другие очень многочисленные функции.
Попробуйте Display Changer 2, который может это сделать, а также запустите программу и измените разрешение обратно, когда он остановится (что вы МОЖЕТЕ работать с сеткой, но YMMV)
Я использовал комбинацию Qres.exe и Sleep.exe (поместите их в папку Windows) в пакетных файлах автозагрузки, чтобы изменить разрешение среди 2 пользователей. Фактический сценарий выглядит следующим образом:
@echo off sleep 2 QRes.exe /x:1280 /y:960
(В то время как копия в низком разрешении есть Qres.exe /x:800 /y:600
)
----------------------------------------- -------------------------------------------------- ------------------------------------
-------------- -------------------------------------------------- -------------------------------------------------- -------------
Если вы хотите, чтобы ваши иконки оставались там, где вы хотите ... читайте дальше.
Вам потребуется еще две загрузки: -> Задержка
запуска:
http://www.snapfiles.com/php/download.php?id=103272&a=7130353&tag=7329208&loc=2
-> DesktopOK
http://www.softwareok.com /?Download=DesktopOK&goto=../Download/DesktopOK.zip
Установите запуска и разместите DesktopOK, где хотите, я использовал мою папку «user». Организуйте свой рабочий стол,
В DesktopOK перейдите в «Параметры» и установите флажок «Восстановить при загрузке Windows», щелкните правой кнопкой мыши вновь созданную «Компоновку значков» и выберите «Использовать для: Восстановление при загрузке Windows».
На этом этапе вам также необходимо установить флажок «Запустить DesktopOK с окнами». Позднее две опции будут автоматически отключены при запуске Delayer.
Теперь найдите DesktopOK в Startup Delayer и щелкните правой кнопкой мыши «Delay».
Теперь осталось сделать только одну вещь - создать загрузочный пакетный файл.
@echo off sleep 2 QRes.exe /x:1280 /y:960 sleep 1 "C:\Program Files\r2 Studios\Startup Delayer\Startup Launcher.exe" /LaunchApps=Common
Конечно, вам нужно поместить его в папку автозагрузки, потому что процесс с иконками настолько обширен, потому что DesktopOK не может обрабатывать переключение разрешения и хочет перемещать значки во время изменения разрешения, поэтому нам нужно отложить запуск реестра, и это единственный способ, который я нашел. Я не смею утверждать, что это лучший способ, но я утверждаю, что это работает, я не нашел другого пути и сам придумал этот процесс. Он обходит каждый аспект ситуации, заменяя значки там, где они принадлежат каждому пользователю.
Спасибо за гибкость Microsoft!
Я нашел образец сценария Windows Powershell, предоставленный Microsoft Technet, который может изменить разрешение экрана.
Я обнаружил, что лучший способ вызвать его - использовать отдельный скрипт Powershell, который выглядит следующим образом:
## This loads the function (defined in another script) . C:\[YOUR-PATH]\Set-ScreenResolution ## invoke with width and height Set-ScreenResolution -Width 1680 -Height 1050
(Обратите внимание, что я сохранил скрипт Microsoft как Set-ScreenResolution.ps1
)
Затем из командной строки или из Пуск-> Выполнить вы можете вызвать второй скрипт Powershell, который я назвал Invoke-Set-ScreenResolution.ps1
так ( -noexit
сначала этот параметр хорош для отладки, но вы можете удалить его позже, в зависимости от того, хотите ли вы окно команды закрывать):
powershell -noexit -ExecutionPolicy Bypass & C:\[your-path]\Invoke-Set-ScreenResolution.ps1
None of the already mentioned tools had all that I needed, so I came up with my own solution: ChangeScreenResolution.exe
Examples:
Change screen resolution of all monitors to 800x600px
ChangeScreenResolution.exe /w=800 /h=600
Change screen resolution of all monitors to 800x600px with refresh rate of 60Hz and 32bit color depth
ChangeScreenResolution.exe /w=800 /h=600 /f=60 /b=32
Set color depth of display with index 1 to 16bit
ChangeScreenResolution.exe /b=16 /d=1
Quick overview of the options:
Possible options (you can set OR query) Setting options /w=<width> Width in pixel eg 800 /h=<height> Height in pixel eg 600 /f=<frequency> display refresh rate eg 60 /b=<bpp> bits per pixel eg 32 Querying options /l list all connected display devices /m list all available mode settings Filtering options /d=<device> devices to modify/query, separated by comma, eg: all (default) 0 (monitor with index 0, see option /l) 0,2 (monitors with index 0 and 2) \\.\DISPLAY1 (name of display, see option /l)
While somebody already mentioned Nirsoft's nircmd, the best tool from Nirsoft for this purpose is MultiMonitorTool.
It supports multi-monitor, saved configurations, 32 and 64 bit, changes in resolution, activation and orientation, etc.
Достойно отметить решение через встроенные wmic
команды W INDOWS M ПРАВЛЕНИЕ I nstrumentation
wmic desktopmonitor create screenheight=1024, screenwidth=768
Хотя может привести к:
ERROR: Description = Provider is not capable of the attempted operation
в некоторых "провайдерах"