マイクのプロパティで"このデバイスを聴く"をチェックするのが面倒だからダブルクリックで実行できるようにjsで書いた

親の顔より見たdosで書きたかったが,ムリポだったのでjs分からないけど見よう見まねで書いた。

スクリプト全体

下記内容をコピペして拡張子.js(changeListenMic.jsとか)で保存。ダブルクリックで実行する度に"このデバイスを聴く"をオンオフできる。
環境によって合わせなければならない部分があるので,下の解説も見てほしい。
タスクバーのツールバーに登録するなりして使うと良い。

var wait = function(title){
    do {
        WScript.Sleep(100);
    } while(!WshShell.AppActivate(title));
};

var WshShell =  WScript.CreateObject("WScript.Shell");
WshShell.Run("control mmsys.cpl");
wait("サウンド")

WshShell.SendKeys("^{TAB}");
WshShell.SendKeys("{DOWN 1}%P");
WshShell.SendKeys("^{TAB}");
WshShell.SendKeys(" ");
WshShell.SendKeys("~");
WshShell.SendKeys("~");

スクリプト解説

Win+Rコマンドプロンプト上でmmsys.cplを実行するとマルチメディアのプロパティが出る。

var wait = function(title){
    do {
        WScript.Sleep(100);
    } while(!WshShell.AppActivate(title));
};

var WshShell =  WScript.CreateObject("WScript.Shell");
WshShell.Run("control mmsys.cpl");
wait("サウンド")

Ctrl+Tabで"録音"タブに移動。

WshShell.SendKeys("^{TAB}");

1回でマイクを選択しプロパティを開く。
※環境に合わせてね。

WshShell.SendKeys("{DOWN 1}%P");

Ctrl+Tabで"聴く"タブに移動。

WshShell.SendKeys("^{TAB}");

Spaceで"このデバイスを聴く"をオンオフ。

WshShell.SendKeys(" ");

Enter2回でOKして閉じる。

WshShell.SendKeys("~");
WshShell.SendKeys("~");

参考文献

http://jutememo.blogspot.jp/2012/08/windows.html
https://msdn.microsoft.com/ja-jp/library/cc364423.aspx
http://www.vbforums.com/showthread.php?419959-Resolved-Sending-quot-space-quot-with-SendKeys