LoginSignup
0
0

1ボタンでディスプレイ設定をトグルしたい

Last updated at Posted at 2023-12-05

はじめに

リモートワークプレイヤーのにわのわです。
3枚あるうちの1枚をディスプレイをリモートワーク用PCと普段使いしているPCとで共有しています。
これをいちいちNvidiaコントロールパネルを開いて無効化したり、ケーブルを抜いたりと
いちいち切り替えるのが面倒なので、1ボタンでできるようにしていきます。

MultiMonitorToolのダウンロード

コマンドライン上でディスプレイ設定を変更するために、
こちらのページの下の方からMultiMonitorToolをダウンロードします。

切り替え用コンフィグの作成

MultiMonitorToolを起動し、切り替えたい設定を作り、保存します。
自分の場合は全てのディスプレイがアクティブの設定と、一番下のディスプレイだけノンアクティブにする設定を作成しました。

File -> Save Monitors Configuration
image.png
タイトルなし.png

無効化したいディスプレイを選択して赤枠をクリック
その後File -> Save Monitors Configuration
タイトルなし.png
タイトルなし.png

ちなみに、MultiMonitorTool.exe /switch 3のようにswitchオプションでモニターのオンオフを切り替えることができますが、
モニター配置やデスクトップのアイコンがぐちゃぐちゃになってしまうので、設定ファイルを使うことをおすすめします。

バッチファイルの作成

作成した設定ファイルを使って、ディスプレイの設定を切り替えるバッチファイルを作成します。
MultiMonitorToolの場所は適宜変更してください。

また、counter.txtは以下のような内容で作成しています。

counter.txt
1
@echo off
setlocal enabledelayedexpansion

set "countFile="E:\multimonitortool-x64\counter.txt""

if not exist %countFile% (
    echo 0 > %countFile%
)

set /p count=<%countFile%
set /a count+=1

echo %count% > %countFile%

set /a remainder=count %% 2

if %remainder% equ 1 (
    E:\multimonitortool-x64\MultiMonitorTool.exe /LoadConfig "E:\multimonitortool-x64\on.cfg"
) else (
    E:\multimonitortool-x64\MultiMonitorTool.exe /LoadConfig "E:\multimonitortool-x64\off.cfg"
)

endlocal

あとは作成したバッチをデスクトップやスタートメニューなどに配置して完成です。

おわりに

以上でMultiMonitorToolの紹介を終わります。
WindowsのシステムAPIとかNvidiaコントロールパネルでコマンドが提供されてるのかなと思ってたら全然そんなことありませんでした。
なんで提供されてないんですかね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0