10

Я хочу изменить расположение дисплея моего компьютера через командную строку. У меня есть 2 монитора, которые расширяются, и я хочу изменить настройку мониторов с Dual Display на Single Display и обратно через командную строку.

Я просмотрел QRes и nircmd. Хотя в QRes полностью отсутствует поддержка нескольких мониторов, nircmd не может отключить монитор, а только меняет основное состояние и разрешение отдельных экранов.

Было бы полезно, если бы вы знали, как это сделать.

Редактировать: я опубликую свое решение здесь с помощью переключателя дисплея в ответе:

@echo off
REM setting to single screen
echo *** Disabling Screen 2 *** 
cd C:\Program Files (x86)\12noon Display Changer\
dc64cmd.exe -monitor="\\.\DISPLAY2" -detach

echo Starting TF2 -fullscreen -novid -console -w 1920 -h 1200
REM Starting Team Fortress 2 fullscreen
cd C:\Program Files (x86)\Steam
Steam.exe -applaunch 440 -fullscreen -novid -console -w 1920 -h 1200

REM pausing because steam.exe returns before TF2 quits
echo Press a key to reenable Screen 2
pause
cd C:\Program Files (x86)\12noon Display Changer\
dc64cmd.exe -monitor="\\.\DISPLAY2" -secondary

6 ответов6

7

Эта утилита может помочь вам: Display Changer :

«Display Changer изменяет разрешение экрана, запускает программу, затем восстанавливает исходные настройки. Он также может навсегда изменить разрешение и переставить мониторы в настройке нескольких мониторов »

Работает в графическом интерфейсе или командной строке, и это бесплатно для личного использования ...

http://12noon.com/?page_id=80

Надеюсь, это поможет. Дайте нам знать.

5

Большое спасибо комментарию Билла Родмана в этой теме.

Я комбинирую эту утилиту с командой Windows7 DisplaySwitch.exe: «C:\Windows\System32\DisplaySwitch.exe /internal», чтобы исключительно переключиться на основной монитор. - Билл Родман 29 января 2010 года в 12:17

Проверяя это, он вызывает и сразу же выбирает экран для выбора через.

  • / Внутренние вызовы внутреннего экрана (ваш основной дисплей)
  • / external изменения внешнего экрана (я не уверен, насколько хорошо он справляется, когда экран более 1)
  • / клонирует дубликаты дисплеев.
  • / Расширить переключатели на расширенные настройки.

Так как это вызывает путь к файлу, просто присоедините его к пакетному сценарию и baboom, мгновенное и эффективное изменение отображения. Хорошей идеей было бы вставить этот тогетор в пользовательский интерфейс планировщика задач Windows, так как вы можете вызвать путь к файлу и дать ему аргументы, тогда всякий раз, когда происходит ваше событие TF2, дисплей всегда переключается.

5

Вы были близки с NirCmd, но вы ищете Nir's MultiMonitorTool:

MultiMonitorTool - это небольшой инструмент, который позволяет выполнять некоторые действия, связанные с работой с несколькими мониторами. С помощью MultiMonitorTool вы можете отключить / включить мониторы, установить основной монитор, сохранить и загрузить конфигурацию всех мониторов и переместить окна с одного монитора на другой. Вы можете выполнять эти действия из пользовательского интерфейса или из командной строки, не отображая пользовательский интерфейс. MultiMonitorTool также предоставляет окно предварительного просмотра, которое позволяет вам просматривать предварительный просмотр каждого монитора в вашей системе.

Инструмент 12noon выглядит неплохо, но, за исключением официального инструмента MS, я возьму NirSoft поверх любого другого инструмента в любой день.

Бесстыдный плагин: Вас может заинтересовать инструмент TvGameLauncher, который я написал именно для этой цели (переключение основных дисплеев для игр). Он также может переключаться на звук HDMI и предотвращать появление экранной заставки во время воспроизведения (без ее отключения). Он даже поддерживает протокол Steam (Steam://), поэтому вам не нужно использовать трюк с pause . Хотя он не поддерживает отключение других ваших мониторов, но я добавлю это в свой список задач (у меня есть несколько других интересных функций, таких как автоматическое создание ярлыков для ТВ).

Редактировать - все функции добавлены. Проверьте это!

3

Хотя я понимаю, что это старый поток, переключение между режимами отображения в Windows 10 с помощью инструментов, доступных по умолчанию, возможно. Проблема, с которой я столкнулся, заключалась в том, что не было "четкого" механизма, который мог бы сказать, что дисплей был расширенным по сравнению с клонированным. Вот мой рабочий прототип в PowerShell:

#ext_or_clone.ps1
#Toggle between Extend and Clone displays
#requires PowerShell 3

#Load Windows Forms .Net class
#if PowerShell < 3 use this instead: [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
Add-Type -AssemblyName System.Windows.Forms

#check the width of the virtual display, the "mode" width 
$currDispMode = [System.Windows.Forms.SystemInformation]::VirtualScreen.Width

#check the width of the primary display
$oneScrWidth = [System.Windows.Forms.SystemInformation]::WorkingArea.width


#compare the two widths
switch ($currDispMode)
{
    #if the widths are the same,
    # it means the displays are in clone mode, so the mode should be extend
    $oneScrWidth{displayswitch.exe /extend}

    #if the VirtualScreen width is greater than the primary screen width
    # it means displays are in extend mode, so the mode should be clone
    {$_ -gt $oneScrWidth}{displayswitch.exe /clone}
}
1

WizardSoft WS Display Settings - это аккуратный маленький инструмент, довольно простой в использовании для новичков в командной строке:

Инструмент командной строки для сохранения и восстановления настроек отображения Windows в файл и из файла. Простая настройка нескольких мониторов. Создавайте пресеты для ноутбука, телевизора, монитора и проектора. Он может сохранять и восстанавливать точное двоичное представление текущих настроек экрана Windows.

То, что я хотел, было ярлыком, чтобы переключиться на расширенный и другой, чтобы возвратиться к единственному показу. После 30 минут игры с ним - успех!

Я использовал Windows 7, и после прочтения readme.txt вы можете легко это настроить.

Самый простой способ использовать инструмент - сохранить текущие настройки отображения в файл с

WsDisplaySettings.exe -save filename.dis

и загрузить и применить настройки с

WsDisplaySettings.exe filename.dis

Есть также более продвинутые функции, как описано в файле readme.

Если бы я вел бизнес, я бы заплатил за программу! (Это бесплатно для личного использования.)

1

Еще один хороший пример - это wsdisplaysettings . Инструмент командной строки для настройки дисплеев по вашему вкусу. Также можно создавать файлы настроек для удобства.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .