Windows 7에서 배치 / 명령 줄을 통한 디스플레이 배열 변경


12

명령 행을 통해 컴퓨터의 디스플레이 배열을 변경하고 싶습니다. 2 개의 모니터를 설정하고 확장했으며, 모니터 설정을 듀얼 디스플레이에서 단일 디스플레이로 변경하고 명령 행을 통해 다시 변경하고 싶습니다.

QRes와 nircmd를 살펴 보았습니다. QRes에는 다중 모니터 지원이 전적으로 부족하지만 nircmd는 모니터를 비활성화 할 수 없으며 기본 상태와 별도의 화면 해상도 만 변경할 수 있습니다.

그렇게하는 방법을 알고 있다면 감사하겠습니다.

편집 : climenoles 답변의 디스플레이 체인저를 사용하여 여기에 솔루션을 게시 할 것입니다.

@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

귀하의 게시물은 실제로 TvGameLauncher에 추가 한이 기능에 대한 아이디어를주었습니다. 여전히 관련성이 있는지 확인하십시오 (아래 답변 참조).
하드 슈나이더

이 질문이 오래되었다는 것을 알고 있지만 명령 줄에서 Windows에 다른 모니터가 있는지 감지하는 방법이 있는지 알고 싶습니다.
Durga Swaroop

답변:


8

이 유틸리티가 도움이 될 수 있습니다. 디스플레이 체인저 :

«디스플레이 체인저는 디스플레이 해상도를 변경하고 프로그램을 실행 한 다음 원래 설정을 복원합니다. 또한 다중 모니터 설정에서 해상도를 영구적으로 변경하고 모니터를 재 배열 할 수 있습니다»

GUI 또는 명령 행에서 작동하며 개인용으로 무료입니다 ...

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

이 도움을 바랍니다. 알려주세요.


좋은 대답을 위해 찬성하지만 그렇게되지는 않습니다. 그런 식으로 Steam 게임을 시작하려고합니다. "steam : // rungameid / #"을 통해 시작하면 실행 파일이 없으므로 작동하지 않습니다. -applaunch # 옵션과 함께 steam.exe를 실행하면 해상도가 변경되고 게임이 시작되지 않고 즉시 다시 변경됩니다 (매우 빨리 보지는 않습니다). 게임 실행 파일을 직접 실행하면 로딩 오류가 발생합니다. 좋은 생각이지만 작동하지 않았습니다.
private_meta

그러나 방금 초기 명령으로 배치 파일을 작성하여 하나의 화면으로 변경하고 별도의 명령 줄에서 게임을 시작한 다음 프로그램이 종료 된 후 다시 배치 내에서 이론적으로 작동해야한다는 것을 깨달았습니다. 나는 그것을 시도해야 할 것이다.
private_meta

괜찮아. 이것이 당신에게 효과가 있는지 알려주십시오. 배치가 제대로 작동하면 .exe 파일을 갖도록 컴파일 할 수 있습니다. 예를 들어 batchcompiler.sourceforge.net :)
climenole

감사합니다. steam.exe가 즉시 반환되므로 "일시 중지"를 사용해야합니다. 그렇지 않으면 배치가 작동하지 않습니다.
private_meta

8

에서 Bill Rodman의 의견에 크게 감사드립니다 .

이 유틸리티를 Windows7 DisplaySwitch.exe 명령 : "C : \ Windows \ System32 \ DisplaySwitch.exe / internal"과 결합하여 기본 모니터로 독점적으로 전환합니다. – Bill Rodman 1 월 29 일 10:12:17

이것을 테스트하면,이를 호출하고를 통해 선택할 화면을 즉시 선택합니다.

  • / internal 은 내부 화면 (기본 디스플레이)을 호출합니다.
  • / 외부 외부 화면 변경 (화면이 두 개 이상인 경우 잘 처리되는지 확실하지 않음)
  • / clone duplicates가 표시됩니다.
  • / extend 는 확장 설정으로 전환합니다.

이것은 파일 경로를 호출하기 때문에 배치 스크립트 및 baboom에 연결하면 즉각적이고 효과적인 디스플레이 변경이 가능합니다. 파일 경로를 호출하고 인수를 제공 할 수 있으므로이 작업을 Windows 작업 스케줄러 UI에 연결하는 것이 좋습니다. 그러면 TF2 이벤트가 발생할 때마다 디스플레이가 항상 전환됩니다.


관리자 권한없이 작동하며 1 클릭 거리에서 작동합니다.
m3nda

인수없이 호출하면 네 가지 옵션이있는 사이드 바가 표시됩니다.
José Tomás Tocino

6

NirCmd와 가깝지만 찾고있는 것은 Nir의 MultiMonitorTool입니다 .

MultiMonitorTool은 여러 모니터 작업과 관련된 일부 작업을 수행 할 수있는 작은 도구입니다. MultiMonitorTool을 사용하면 모니터를 비활성화 / 활성화하고, 기본 모니터를 설정하고, 모든 모니터의 구성을 저장 및로드하고, 한 모니터에서 다른 모니터로 창을 이동할 수 있습니다. 사용자 인터페이스를 표시하지 않고 사용자 인터페이스 또는 명령 행에서 이러한 조치를 수행 할 수 있습니다. MultiMonitorTool은 또한 시스템에있는 모든 모니터의 미리보기를 볼 수있는 미리보기 창을 제공합니다.

12noon 도구는 멋져 보이지만 공식 MS 도구를 제외하고는 다른 도구보다 NirSoft를 언제든지 사용할 것입니다.

뻔뻔한 플러그 : 당신은 내가 정확히이 목적을 위해 작성한 TvGameLauncher 도구에 관심이있을 수 있습니다 (게임을 위해 기본 디스플레이 전환). 또한 HDMI 오디오로 전환하여 재생하는 동안 화면 보호기가 팝업되는 것을 방지 할 수 있습니다 (비활성화하지 않고). 스팀 프로토콜 ( Steam://) 도 지원 하므로 pause트릭 을 사용할 필요가 없습니다 . 다른 모니터를 비활성화하는 것은 지원하지 않지만 할 일 목록에 추가 할 것입니다 (자동 TV 바로 가기 생성과 같은 다른 멋진 기능이 있습니다).

편집-모든 기능이 추가되었습니다. 확인 해봐!


1
NirSoft 바위. 모니터를 전환 할 수있는 솔루션을 찾았습니다. 둘 중 하나가 켜져 있고 다른 하나가 꺼져있을 때 두 개의 모니터 설정이 있습니다. 따라서 고급 확장 데스크탑 모드 등은 없습니다. MultiMonitorTool을 사용하면 하나의 단일 라이너가 있습니다. MultiMonitorTool.exe /switch 1 /switch 2현재 하나의 모니터가 꺼지고 동시에 다른 모니터도 꺼집니다. 이 명령을 키보드의 매크로 키에 넣고 이제 단일 키 입력으로 모니터를 전환합니다!
신경 전달 물질

MultiMonitorTool은 3 가지 모니터의 다른 구성, 일부 비활성화, 복제 등에서 나에게 제대로 작동하지 않았습니다. 해상도가 0x0 인 일부 구성을 적용하여 Nvidia 제어판을 열 수 없었습니다.
NateS

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

또 다른 좋은 방법은 wsdisplaysettings입니다. 원하는대로 디스플레이를 설정하는 명령 줄 도구. 편의를 위해 설정 파일을 만들 수도 있습니다.



Windows 10에서 시간의 약 80 %가 충돌합니다. 다른 20 %에서 작동합니다.
NateS

1

WizardSoft의 WS 디스플레이 설정 은 깔끔한 작은 도구이며 명령 줄 초보자에게 사용하기 매우 간단합니다.

Windows 디스플레이 설정을 파일에 저장하거나 파일에서 복원하는 명령 줄 도구입니다. 간편한 다중 모니터 설정. 노트북, TV, 모니터 및 비머에 대한 사전 설정을 만듭니다. 현재 Windows 디스플레이 설정의 정확한 이진 표현을 저장하고 복원 할 수 있습니다.

내가 원했던 것은 확장으로 전환하고 다른 하나는 단일 디스플레이로 돌아가는 바로 가기였습니다. 그것으로 30 분 동안 뭉친 후-성공!

Windows 7을 사용했으며 읽은 후에도 readme.txt쉽게 설정할 수 있습니다.

이 도구를 사용하는 가장 간단한 방법은 현재 디스플레이 설정을 파일로 저장하는 것입니다.

WsDisplaySettings.exe -save filename.dis

로 설정을로드하고 적용하십시오.

WsDisplaySettings.exe filename.dis

추가 정보 파일에 설명 된대로 고급 기능도 있습니다.

사업을 운영하면 프로그램 비용을 지불하게됩니다! (개인 용도로는 무료입니다.)


2
슈퍼 유저에 오신 것을 환영합니다! 답변 에서 소프트웨어를 추천하는 방법 , 특히 굵은 체로 표시된 비트를 읽으십시오 . 그런 다음 답변을 수정하여 지침을 따르십시오. 감사!
bertieb

1

당신은 사용할 수 있습니다 DisplaySwitch.exe /internal만 기본 모니터를 사용하고, 디스플레이 설정을 변경 DisplaySwitch.exe /extend하여 멀티 모니터 설치로 다시 전환 할 수 있습니다. 자세한 내용은 여기를 참조하십시오 . Windows 10에서도 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.