Windows 11 バージョン 2H22 では、サウンドアイコンにマウスカーソルを合わせてマウスホイールを上下に回すことで音量変更が可能になりました。
しかし、YouTube などの動画を全画面表示するとタスクバーが隠れてしまい、この便利な機能が使えなくなってしまうという課題がありました。
そこで今回、Autoit を用いて全画面表示でも音量調節可能なツール「MW_VOLUME」を作成しました。
MW_VOLUME の特徴:
- 64ビット Windows 10/11 に対応
- 全画面表示でも音量調節可能
- シンプルな操作
- オープンソース
音量変更ツールの画面
ツールはとても小さく、画面の右下(タスクバーの上)に表示するようにしています。
ツール上にマウスカーソルを持っていき、カーソルが手の形に変わったときにマウスホイールを上に回すと音量を上げ、下に回すと音量を下げます。
※ツールがアクティブでなくなった場合は音量が変更できませんので、その場合は一度ツールをクリックしてからマウスホイールを回してください。
Windows 10 では、音量を変更すると画面の左上に音量の大きさが表示されます。
Windows 11 では、画面の中央下に音量の大きさが表示されます。
音量変更ツールの仕組みとコード
音量変更ツールの仕組み
音量の上げ下げは、ツール上でのマウスホイールの動作を監視し、上に回せば音量を上げるメッセージをウィンドウハンドル「SHELLDLL_DefView」に送信し、下に回せば音量を下げるメッセージを送信します。
キーボードのショートカットで音量変更する時と同じような動作をします。
常に画面のトップに表示するようにしていますので、YouTube などを全画面表示で見ながら音量を変更することが出来ます。
また、ツール自体をマウスでドラッグして移動できますので、操作しやすい場所に持っていくことができます。
元の位置に戻したいときは、ツールの右クリックメニューから「タスクバーの上に戻る」をクリックします。
このツールはタスクバーにはアイコンを表示しませんので、ツールを閉じたい場合は右クリックメニューから「閉じる」をクリックして終了してください。
音量変更ツールのコード
2023/3/14:コードの修正を行いました。(Ver 1.0.0.3)
修正前
Global $hwnd = ControlGetHandle('[CLASS:Progman]', '', '[CLASS:SHELLDLL_DefView]')
修正後
Global $hwnd = ControlGetHandle('[CLASS:Progman]', '', '')
MW_VOLUME:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=SndVol_0_1.ico
#AutoIt3Wrapper_Outfile_x64=MW_VOLUME.exe
#AutoIt3Wrapper_Res_Description=マウスホイールでシステム音量を変更
#AutoIt3Wrapper_Res_Fileversion=1.0.0.3
#AutoIt3Wrapper_Res_ProductName=MW_VOLUME
#AutoIt3Wrapper_Res_ProductVersion=1.3
#AutoIt3Wrapper_Res_CompanyName=©2022 wenbang https://windows-waza.com/
#AutoIt3Wrapper_Res_LegalCopyright=©2022 wenbang https://windows-waza.com/
#AutoIt3Wrapper_Res_LegalTradeMarks=MW_VOLUME.exe
#AutoIt3Wrapper_Res_Language=1041
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPIProc.au3>
#include <SendMessage.au3>
#include <Misc.au3>
#include-once
If Not FileExists(@ScriptDir & "\Image\SndVol.bmp") Then; 画像ファイルが見つからない場合プログラムを終了します。
MsgBox(48, " MW_VOLUME - エラー", "必要なファイルが見つかりません。プログラムを終了します。")
Exit
EndIf
If _Singleton(" MW_VOLUME", 1) = 0 Then Exit; プログラムの二重起動を抑止
DllCall("User32.dll", "bool", "SetProcessDpiAwarenessContext", "HWND", "DPI_AWARENESS_CONTEXT" - 2); 高 DPI に対応
Opt("TrayIconHide", 1); トレイアイコンを非表示
Global $hwnd = ControlGetHandle('[CLASS:Progman]', '', '')
Global $APPCOMMAND_VOLUME_UP = 0xA0000;
Global $APPCOMMAND_VOLUME_DOWN = 0x90000;
;~ Global $APPCOMMAND_VOLUME_MUTE = 0x80000;
Global $Xpos, $Ypos
; ウィンドウの大きさ
$Width = 25
$Hight = 25
_GetTaskbarPosition()
$Form = GUICreate(" MW_VOLUME", $Width, $Hight, $Xpos, $Ypos, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetBkColor(0x000000)
GUISetCursor(0, 1)
; $GUI_WS_EX_PARENTDRAG を指定することで、画像をドラッグしてウィンドウの移動を可能にする。
$Icon = GUICtrlCreatePic(@ScriptDir & "\Image\SndVol.bmp", 2, 2, 23, 23, -1, $GUI_WS_EX_PARENTDRAG)
$Menu = GUICtrlCreateContextMenu($Icon); サウンドアイコンの右クリックにメニューを追加
$MoveToTaskBar = GUICtrlCreateMenuItem("タスクバーの上に戻る", $Menu)
GUICtrlCreateMenuItem("", $Menu)
$help = GUICtrlCreateMenuItem("WEBサイトへ", $Menu)
$exit = GUICtrlCreateMenuItem("終了", $Menu)
GUISetState()
_WinAPI_EmptyWorkingSet()
; ウィンドウの上でマウスホイールを回したかどうかを監視
GUIRegisterMsg($WM_MOUSEWHEEL, "WM_MOUSEWHEEL")
While 1
$nMSG = GUIGetMsg()
Switch $nMSG
Case $GUI_EVENT_CLOSE, $exit
Exit
Case $MoveToTaskBar
_GetTaskbarPosition(); 解像度やタスクバーのサイズが変更された時のためにタスクバーの位置を再度取得します。
WinMove($Form, "", $Xpos, $Ypos)
Case $help
ShellExecute("https://windows-waza.com/")
EndSwitch
WEnd
Func WM_MOUSEWHEEL($hWndGUI, $MsgID, $WParam)
If BitShift($wParam, 16) > 0 Then ; マウスホイールが上に回された
; 音量アップ
_SendMessage($hwnd, $WM_APPCOMMAND, 0x200eb0, $APPCOMMAND_VOLUME_UP)
Else ; マウスホイールが下に回された
; 音量ダウン
_SendMessage($hwnd, $WM_APPCOMMAND, 0x200eb0, $APPCOMMAND_VOLUME_DOWN)
EndIf
EndFunc ;==>WM_MOUSEWHEEL
Func _GetTaskbarPosition()
; タスクバーの位置を取得し、メインウィンドウの位置をタスクバーの右上にする
$TaskBar = WinGetPos("[class:Shell_TrayWnd]")
If Not @error Then
$Xpos = @DesktopWidth - $Width
$Ypos = @DesktopHeight - $Hight - $TaskBar[3]
EndIf
EndFunc ;==>_GetTaskbarPosition
更新情報
2022/10/04 Ver.1.0.0.0 リリース
2022/12/17 Ver.1.0.0.2 リリース
1.ウィンドウを移動できるように変更しました。
2.右クリックメニューに「タスクバーの上に戻る」を追加しました。
3.ウィンドウ上の音量表示を廃止しました。
2023/3/14 Ver.1.0.0.3 リリース
1.一部の環境で音量が変更できない問題を修正しました。
音量変更ツール「MW_VOLUME」Ver 1.0.0.3 のダウンロード
MW_VOLUM(Vector)
コメント(降順)