PCでディスプレイとサウンドの出力先を一発で切り替えるスクリプト
49インチディスプレイと27インチディスプレイはさすがに両立しないのでいちいち切り替えてたんだがめんどくさい。
ディスプレイだけならまだいいが、サウンドの出力先もだとめんどくさいめんどくさいめんどくさい。
ということで、魚陰陽座 : Windows10のスクリプトで映像&音声出力先を切り替えるお話、こちらを参考に余分なところを削ってみた。
ファイル名nanntokakanntoka.jsで保存。
文字エンコーディングをshift-jisにするの大事(ここでちょっと悩んだ)
スクリプト呼び出すときの引数をPCにするかそれ以外とで切り替え。
sound = の値でサウンドの切り替え先指定。
disp = の値でどちらのディスプレイに出力するか指定。
以上、説明する気があんまりないw
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var wait = function(title){ | |
do { | |
WScript.Sleep(100); | |
} while(!WshShell.AppActivate(title)); | |
}; | |
var WshShell = WScript.CreateObject("WScript.Shell"); | |
var sound; | |
var disp; | |
if (WScript.Arguments.item(0) == "pc"){ | |
sound = 1; | |
disp = "/external"; | |
} | |
else{ | |
sound = 5; | |
disp = "/internal"; | |
} | |
var WshShell2 = WScript.CreateObject("WScript.Shell"); | |
WshShell2.Run("DisplaySwitch " + disp,1,true); | |
WScript.Sleep(2000); | |
WshShell.Run("control mmsys.cpl"); | |
wait("サウンド"); | |
WshShell.SendKeys("{DOWN " + | |
sound + | |
"}%{s}{TAB 3}{ENTER}"); |