DELL Display Manager(DDM)には、モニターの入力切替をホットキーで行える機能があります。
ただ、マルチモニター環境だと「切り替える対象モニターを指定できない」せいで、意図したモニターだけ切り替えるのが難しいことがあります。
私の環境でも、
- メイン:ホットキーで切り替わる
- サブ:ホットキーを押しても切り替わらない(メインが動作してしまう)
という状態になり、DDMだけでは解決できませんでした。
そこで本記事では、DDC/CIを直接操作できる ControlMyMonitor を使い、bat経由で“狙ったモニターだけ”入力を切り替える方法をまとめます。
Stream Deck に登録すれば、ワンボタン運用まで持っていけます。
結論:ControlMyMonitor+bat で「対象モニター指定」の入力切替ができます
結論を先に置きます。最終的には、次の トグル切替用の bat を作ります。
実行するたびに、指定したモニターの入力が HDMI1 ⇄ HDMI2 のように切り替わります。
これが動けば本記事のゴール達成です(以降はこの1行を自分の環境の値に置き換える手順になります)。
@echo off
"D:\Tool\controlmymonitor\ControlMyMonitor.exe" /SwitchValue "\\.\DISPLAY2\Monitor0" 60 4369 4370- 置き換えるのはこの3点だけです
ControlMyMonitor.exeのパス(例:D:\Tool\...)- 対象モニター文字列(例:
\\.\DISPLAY2\Monitor0) - 入力値2つ(例:
4369 4370※HDMI1/HDMI2。/GetValueで取得)
この1行の意味をもう少し詳しく(クリックで展開)
/SwitchValue
指定した値の間で「切り替え」を行うコマンドです。
ここでは4369と4370の間をトグルします(押すたびに行ったり来たり)。\\.\DISPLAY2\Monitor0
操作対象のモニター指定です。
例ではDISPLAY2がサブモニターに該当しています(人によって DISPLAY1/2 は変わります)。60
「Input Select」の VCPコードです(入力切替を指す項目)。4369 4370
HDMI1/HDMI2 に対応する 入力の値です。
※この値は環境ごとに違うので、/GetValueを使って自分の値を調べてから埋めます。あとで詳しく説明します。
DDMのホットキーで詰む原因は、マルチモニター環境で「このホットキーはどのモニターに送るのか」を指定できないことです。
一方で ControlMyMonitor は、対象モニターを明示してDDC/CIへ命令を送れます。
この方法でできることは次の通りです。
- 特定のモニターだけ入力を切り替える(サブだけ、など)
- bat で安定実行できる(手動でもStream Deckでも同じ)
- 1ボタンのトグルにできる
以降は、次の順で進めます。
- DISPLAY番号(対象モニター)を特定
- 「Input Select(VCPコード60)」が Read/Write か確認
/GetValueで入力切替に必要な値を取得- /SwitchValue でトグルbat作成
- Stream Deck に登録してワンボタン化
必要なもの
- Windows PC(操作する側)
- DDC/CI 対応モニター(DELLは対応していることが多い)
- ControlMyMonitor(無料ツール)
- bat を作れる最低限の知識(コピペでOK)
- Stream Deck(任意。ワンボタン化したい場合)
ControlMyMonitor のダウンロード・配置
配布元(NirSoft)
以下の公式ページを開き、ページ内の 「Download ControlMyMonitor」 からZIPをダウンロードして解凍します。
https://www.nirsoft.net/utils/control_my_monitor.html

配置例
解凍したフォルダは、好きな場所に置いてOKです。
私は例として、次の場所に配置しました。
D:\Tool\controlmymonitor\ControlMyMonitor.exe日本語化(任意)
公式ページの下部にある Language(翻訳) の一覧から、日本語の翻訳ファイル(ZIP)をダウンロードできます。
直接ダウンロードする場合は以下です。
https://www.nirsoft.net/utils/trans/controlmymonitor_japanese.zip
ZIPを解凍し、ControlMyMonitor_lng.ini を ControlMyMonitor.exe と同じフォルダへ置いてください。
次回起動時からUIが日本語になります。

モニター番号(DISPLAY番号)を確認する
ControlMyMonitor を起動すると、画面上部の 「モニター:」 の欄に、PCに接続されているモニターが一覧表示されます。
複数モニターを接続している場合は、右側のプルダウンから対象モニターを選択できます。
この一覧に表示される文字列のうち、次の部分に注目してください。
\\.\DISPLAY1\Monitor0\\.\DISPLAY2\Monitor0
この DISPLAY番号(DISPLAY1 / DISPLAY2 …) が、あとでコマンドを送るときの
「どのモニターに命令を送るか」の指定になります。
入力を切り替えたいモニター(例:サブモニター)を決めて、該当する文字列(DISPLAY番号)をメモしておいてください。

補足:DISPLAY番号を確実に特定するコツ
どのモニターが DISPLAY1/2 なのか分からない場合は、Windows の「設定 → システム → ディスプレイ → 識別」で物理画面の 1/2 を確認したうえで、ControlMyMonitor 側で Brightness(VCP10)を ±1 だけ動かし、明るさが変わった方を対応づけると確実です(確認後は元の値に戻せばOK)。
「Input Select(VCPコード 60)」が操作可能か確認する
まず、VCPコード の列から 「Input Select」 を探してください。
多くのモニターでは VCPコードが「60」 になっていると思います。
次に、同じ行の 「Read-Write」列 を確認します。
- ✅ Read/Write → 値を変更できるため、入力切替が可能です
- ❌ Read Only → 値を変更できないため、入力切替はできません
もしRead Only だった方は、ここまで読んでいただいて大変心苦しいのですが、この方法では入力を切り替えられません(DDC/CI 側で書き込みが許可されていない状態です)。

Input Select が Read+Write なら入力切替できます。HDMI1/HDMI2 の入力値を /GetValue で調べる(最重要)
ここで必要なのは、/SwitchValue の末尾に入れる 入力値(例:4369/4370) です。
この値はモニターや接続状況で変わることがあり、ControlMyMonitor画面の数値と一致しない場合があります。実際に現在の値として表示されている値は15となっていますが、今回の方法では使えませんでした。
そこで、batで /GetValue を実行し、実際に返ってきた値を採用します。
入力値を表示する bat を作る(get_input_value.bat)
@echo off
"D:\Tool\controlmymonitor\ControlMyMonitor.exe" /GetValue "\\.\DISPLAY2\Monitor0" 60
echo CurrentInputValue: %errorlevel%
pause
D:\Tool\...は ControlMyMonitor.exe の場所に合わせて変更"\\.\DISPLAY2\Monitor0"は(前章で控えた)対象モニターに合わせて変更60は Input Select の VCPコード(多くの機種で60)
HDMIごとの値をメモする
- bat を実行 → 値が出ます(例:4369)
- モニターのOSDで入力を HDMI2 に切り替える
- もう一度 bat を実行 → 別の値が出ます(例:4370)
例(取得結果)


切り替え用のトグルbatを作る(完成形)
ここまでで確認した DISPLAY番号 と、/GetValue で取得した 入力値(例:4369/4370) を使って、入力切替用の bat を作ります。
この bat を実行するたびに、指定したモニターの入力が HDMI1 ⇄ HDMI2 と切り替わります。
例:toggle_hdmi1_hdmi2.bat
@echo off
"D:\Tool\controlmymonitor\ControlMyMonitor.exe" /SwitchValue "\\.\DISPLAY2\Monitor0" 60 4369 4370D:\Tool\...は ControlMyMonitor.exe の場所に合わせて変更"\\.\DISPLAY2\Monitor0"は(前章で控えた)対象モニターに合わせて変更60は Input Select の VCPコード(多くの機種で60)4369 4370は /GetValue で取得した HDMI1/HDMI2 の値に置き換え
付録:HDMI1/HDMI2 を「別ボタン」で切り替えたい場合(トグルではなく固定切替)
トグル切替は /SwitchValue でしたが、
「必ず HDMI1 にしたい」「必ず HDMI2 にしたい」など 入力を固定で指定したい場合は、/SetValue を使います
例:to_hdmi1.bat
@echo off
"D:\Tool\controlmymonitor\ControlMyMonitor.exe" /SetValue "\\.\DISPLAY2\Monitor0" 60 4369例:to_hdmi2.bat
@echo off
"D:\Tool\controlmymonitor\ControlMyMonitor.exe" /SetValue "\\.\DISPLAY2\Monitor0" 60 4370Stream Deck に登録(ワンボタン化)
作成したtoggle_hdmi1_hdmi2.bat を Stream Deck から起動すれば、ワンボタンで入力切替できます。
一番簡単なのは、標準アクションの 「システム」→「開く」 を使う方法です。
手順(「開く」で bat を実行)
- Stream Deck を開き、登録したいボタンを選びます
- 左のアクション一覧から 「システム」→「開く」 をドラッグしてボタンに置きます
- 「アプリケーション / ファイル」に、作成した
.batを指定します
例:toggle_hdmi1_hdmi2.bat - ボタン名を分かりやすく設定します(例:
HDMI切替) - 実際に押して、狙ったモニターだけ切り替われば完成です

toggle_hdmi1_hdmi2.bat を指定します(これでワンボタン切替)Stream Deck は配信者向けの印象がありますが、PC操作をワンボタン化できるデバイスとして普段使いにも便利です。
参考までに商品リンクを置いておきます。
まとめ
- DDMのホットキーは、マルチモニター環境だと「対象モニターを指定できない」ため、狙ったモニターだけの入力切替が難しいことがあります。
- ControlMyMonitor なら
\\.\DISPLAYx\Monitor0を指定して、対象モニターだけに入力切替を実行できます。 - HDMI1/HDMI2 の入力値は環境差があるため、
/GetValueで実測して確定するのが安全です。 - 実運用は
/SwitchValueを使ったトグル用bat 1本にしておくのがラクです。 - Stream Deck に bat を登録すれば、ワンボタンで入力切替できます。
最後に、完成形(トグル)を再度載せておきます。DISPLAY番号 と 入力値 に加えて、ControlMyMonitor.exe のパス(保存場所)もご自身の環境に合わせて置き換えてください。
@echo off
"D:\Tool\controlmymonitor\ControlMyMonitor.exe" /SwitchValue "\\.\DISPLAY2\Monitor0" 60 4369 4370


