Certainly not an improvement to some of the more elaborate alternatives found in this forum, but then again much smaller.
Mainly meant for use with alternative shells that do not provide this functionality.
In order to simulate the "ding" sound used to check the volume by ear, you will have to place a .wav in the script's directory.
I used the "ding.wav" from win98 for this.
Searching your drive for *.wav will usually provide ample alternatives.
sound = ding.wav GoSub, DoVolume return DoVolume: SoundGet, MySlider SoundGet, _mute, , mute if _mute = On _mute = 1 else _mute = 0 Gui, -MinimizeBox Gui, Add, Slider,h100 w40 vMySlider gDisplayCount AltSubmit Vertical Invert TickInterval20 Center, % MySlider ;% Gui, Add, Checkbox, v_Mute gMute Checked%_mute%, Mute Gui, Add, Button, gVolumeApp, Master Gui, Show, , Volume , return DisplayCount: ; onchange set the volume and play a ding Gui, Submit, Nohide SoundSet, %MySlider% if A_GuiControlEvent <> Normal return SoundPlay, %sound% return Mute: ; set to mute or non-mute Gui, Submit, Nohide SoundSet, _Mute, , MUTE return VolumeApp: ; display the volume master control run, sndvol32.exe return GuiEscape: GuiClose: ExitApp return