JScript または VBScript スクリプトから Windows システムの音量を制御したいと考えています。何か案は?
また、システム ボリュームがミュートされている場合、ミュートを解除できますか?
JScript または VBScript スクリプトから Windows システムの音量を制御したいと考えています。何か案は?
また、システム ボリュームがミュートされている場合、ミュートを解除できますか?
追加のソフトウェアをインストールせずに Windows でシステム ボリューム レベルを操作するための最良の方法は、次のいずれかの方法で VBScript を使用することです。
ミュートの切り替え:(すでに以前の回答で言及されています)
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys(chr(&hAD))
音量を上げる:
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys(chr(&hAF))
音量レベルを下げる:
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys(chr(&hAE))
これは、ほとんどの最新の Windows マシンで機能するはずです。これを Windows 7 および 8.1 でテストしたところ、LC で "do as" を使用して実行しても問題なく動作するため、これらのスクリプトを実行可能ファイルに埋め込んで、個別のファイルとして保存しなくても実行できます。
システム ボリュームをミュートまたはミュート解除するには、次のWshShell.SendKeys
メソッドを使用してミュート キーの押下をシミュレートできます。
var oShell = new ActiveXObject("WScript.Shell");
oShell.SendKeys(Chr(&HAD));
スクリプトからボリューム レベルを変更することに関しては、システム ボリューム アプレットを起動し、適切なキーボード ショートカットをシミュレートするなど、Windows の自動化を含むソリューションがありますが、信頼できるとは思いません。したがって、音量レベルを変更できる外部ユーティリティを使用して、スクリプトから呼び出すことをお勧めします。たとえば、無料のNirCmdツールを使用できます。
var oShell = new ActiveXObject("WScript.Shell");
// Increase the system volume by 20000 units (out of 65535)
oShell.Run("nircmd.exe changesysvolume 20000");
// Decrease the system volume by 5000 units
oShell.Run("nircmd.exe changesysvolume -5000");
NirCmd は、システム ボリュームをミュートまたはミュート解除することもできます。
var oShell = new ActiveXObject("WScript.Shell");
oShell.Run("nircmd.exe mutesysvolume 0"); // unmute
oShell.Run("nircmd.exe mutesysvolume 1"); // mute
oShell.Run("nircmd.exe mutesysvolume 2"); // switch between mute and unmute
Windows 7 では、WScript を使用してキーストロークを制御することでこれを行うことができました。
set oShell = CreateObject("WScript.Shell")
oShell.run"%SystemRoot%\System32\SndVol.exe"
WScript.Sleep 1500
oShell.SendKeys"{TAB} " ' Tab to the mute and press space
oShell.SendKeys"%{F4}" ' ALT F4 to exit the app.
これを Mute-Sound.vbs というファイルに保存し、デスクトップにショートカットを作成してショートカット キーを割り当てました。CTRL+ ALT+ F12. 何らかの理由で、キーボード ショートカットはデスクトップ上にある場合にのみ機能するため、キーボード ショートカットがどれほど信頼できるかわかりません。
Misty Manor's Answer は Windows Vita でも動作します。これは、私が文字通り作ったばかりですが、ある意味で同じことをします。
set oShell = CreateObject("WScript.Shell")
oShell.run"%SystemRoot%\System32\SndVol.exe" 'Runs The Master Volume App.
WScript.Sleep 1500 'Waits For The Program To Open
oShell.SendKeys("{PGUP}") 'Turns Up The Volume 20, If It Is Muted Then It Will Unmute It
oShell.SendKeys("{PGUP}") 'Turns Up The Volume 20
oShell.SendKeys("{PGUP}") 'Turns Up The Volume 20
oShell.SendKeys("{PGUP}") 'Turns Up The Volume 20
oShell.SendKeys("{PGUP}") 'Turns Up The Volume 20
oShell.SendKeys"%{F4}" ' ALT F4 To Exit The App.
音量を下げたい場合は
oShell.SendKeys("{PGDN}") 'It Will Decrease The Volume By 20
ブラウザー ウィンドウ/Web ページ内から - まったく方法がありません。技術的に可能であっても、ブラウザ サンドボックスのセキュリティにより禁止されます。
Windows Script Host (スタンドアロンの .vbs または .js ファイル) 内から - 私が認識している方法はありません。この質問によると、WMI はこれを制御することもできません。