Windows 7でバッチ/コマンドラインを介して表示配置を変更する


12

コマンドラインを使用してコンピューターの表示配置を変更したい。2台のモニターをセットアップして拡張していますが、モニターのセットアップをデュアルディスプレイからシングルディスプレイに変更し、コマンドラインを使用して戻します。

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

あなたの投稿は私がTvGameLauncherに追加したこの機能のアイデアを実際に私に与えました。それでも関連がある場合は、チェックしてください(以下の私の回答を参照してください)。
Ohad Schneider 14

ねえ、私はこの質問が古いことを知っていますが、コマンドラインからWindowsに別のモニターの存在を検出する方法があるかどうか知りたいですか?
Durga Swaroop 16

回答:


8

このユーティリティはあなたを助けるかもしれません:ディスプレイチェンジャー

«ディスプレイチェンジャーは、ディスプレイの解像度を変更し、プログラムを実行してから、元の設定に戻します。また、解像度を永続的に変更し、マルチモニター設定でモニターを再配置することもできます»

GUIまたはコマンドラインで動作し、個人的な使用は無料です...

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

この助けを願っています。教えて。


良い答えに賛成票を投じますが、そのようには機能しません。その方法でSteamゲームを起動しようとしています。"steam:// rungameid /#"から実行すると、実行可能ファイルがないため機能しません。-applaunch#オプションを指定してsteam.exeを実行すると、解像度が変更され、ゲームは開始されず、すぐに元に戻ります(あまり速く表示されないため)。ゲームの実行ファイルを直接実行すると、読み込みエラーが発生します。いい考えですが、うまくいきませんでした。
private_meta

しかし、最初のコマンドを使用してバッチファイルを作成し、1つの画面に変更し、別のコマンドラインでゲームを開始し、プログラムが終了すると、理論的には機能するバッチ内で変更できることに気づきました。私はそれを試さなければならないでしょう。
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、2010年1月29日12:17

これをテストすると、これが呼び出され、すぐに選択する画面が選択されます。

  • / internalは内部画面(プライマリディスプレイ)を呼び出します
  • / externalは外部画面に変更します(複数の画面がある場合にどのように処理されるかわかりません)
  • / cloneは表示を複製します。
  • / extendは拡張設定に切り替えます。

これはファイルパスを呼び出しているので、これをバッチスクリプトとbaboomにアタッチするだけで、瞬時に効果的な表示が変更されます。ファイルパスを呼び出して引数を与えることができるので、このtogethorをWindowsのタスクスケジューラUIにストリングして、引数を与えると、TF2イベントが発生するたびに、表示が常に切り替わります。


管理者権限なしで動作し、1クリックの距離で動作します。
m3nda

引数なしで呼び出すと、4つのオプションがあるサイドバーが表示されます。
ホセ・トマスTocino

6

あなたはNirCmdに近かったが、探しているのはNirのMultiMonitorToolです。

MultiMonitorToolは、複数のモニターの操作に関連するいくつかのアクションを実行できる小さなツールです。MultiMonitorToolを使用すると、モニターの無効化/有効化、プライマリモニターの設定、すべてのモニターの構成の保存と読み込み、およびウィンドウを別のモニターに移動できます。これらのアクションは、ユーザーインターフェイスを表示せずに、ユーザーインターフェイスまたはコマンドラインから実行できます。MultiMonitorToolにはプレビューウィンドウもあり、システムのすべてのモニターのプレビューを見ることができます。

12noonツールは見栄えは良いですが、公式のMSツールがなければ、いつでもNirSoftを他のツールよりも優先させます。

恥知らずなプラグイン:この目的のために私が書いたTvGameLauncherツールに興味があるかもしれません(ゲームをプレイするためにプライマリディスプレイを切り替える)。また、HDMIオーディオに切り替えて、(無効にせずに)再生中にスクリーンセーバーが表示されないようにすることもできます。Steamプロトコル(Steam://)もサポートしているので、pauseトリックを使用する必要はありません。ただし、他のモニターの無効化はサポートされていませんが、それをToDoリストに追加します(TVショートカットの自動生成など、他にもいくつかのクールな機能が登場します)。

編集-すべての機能が追加されました。見てみな!


1
NirSoft Rocks。モニターを切り替えるためのソリューションを見つけなければなりませんでした。2台のモニターをセットアップしていますが、一方がオンで他方がオフです。したがって、派手な拡張デスクトップモードなどはありません。MultiMonitorTool MultiMonitorTool.exe /switch 1 /switch 2を使用すると、現在実行中のモニターをオフにし、同時に他のモニターをオフにする単一のワンライナーを使用できます。このコマンドをキーボードのマクロキーに配置すると、1回のキーストロークでモニターが切り替わります。
神経伝達物質2017

MultiMonitorToolは、3つのモニターのさまざまな構成(私は無効、複製など)でうまく機能しませんでした。0x0の解像度の構成を適用したため、Nvidiaコントロールパネルを開くことができませんでした。
NateS 2017年

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ファイルで説明されているように、より高度な機能もあります。

私がビジネスを営んでいたら、プログラムの料金を支払います!(個人使用は無料です。)


2
スーパーユーザーへようこそ!答えソフトウェアを推奨する方法、特に太字のビットをお読みください。次に、回答を編集して、ガイドラインに従ってください。ありがとう!
bertieb

1

を使用DisplaySwitch.exe /internalして、プライマリモニターのみを使用するようにディスプレイ設定を変更DisplaySwitch.exe /extendしたり、マルチモニター設定に戻すことができます。詳細はこちら。Windows 10でも動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.