How to control master volume in Windows 7?

108

47

Some keyboards have volume controls on them that can be pressed anytime to control the master volume. My keyboard does not have that. Is there a way that I can create a key macro that will work like the volume controls on those keyboards? It should always allow me to control the volume, even if I'm playing a game.

Phenom

Posted 2009-12-12T07:35:29.740

Reputation: 6 119

Answers

99

I just did this with my laptop. I used AutoHotKey

Here is the script

#PgUp::Send {Volume_Up 1}
#PgDn::Send {Volume_Down 1}

so doing Win+PgUp Win+PgDown changes the master volume. If you prefer Ctrl+PgUp, use ^PgUp::Send.

  1. If you don't have it installed already, http://www.autohotkey.com/
  2. Once installed, right click your Desktop, and choose new AutoHotKey file
  3. Make sure to title the file ending with .ahk (for example, I used "controls.ahk")
  4. Paste the code in from above
  5. Save it, and double click the script in windows explorer

To run it at startup

  1. Use the AHK provided "Convert to exe" utility (or you can right click the file and select "compile script")
  2. Create the .exe in "C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

eqzx

Posted 2009-12-12T07:35:29.740

Reputation: 2 344

Completed steps 1-5... No effect under W7 - I just get pagination instead. – Pavel Vlasov – 2015-05-09T17:34:20.487

3This is cool, it works on win7, and change the step from 3 to 1 would get a better control. – Eric Wang – 2015-08-26T02:43:32.397

3Also works on Win 10 – H A – 2016-06-04T05:47:11.537

tnx for sharing – Boldbayar – 2016-06-24T01:05:01.033

3For followers, note that sending Volume_Up is basically the same as instructing AHK to simulate hitting the volume up button on the keyboard. – rogerdpack – 2010-07-13T23:23:35.700

Thank you! At this rate I'll be selling my mouse in no time. – Calculus Knight – 2016-12-27T16:54:45.297

tip type shell:startup in run to open C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup folder – tchelidze – 2017-01-18T08:59:09.813

Does this mean that Volume_Up and Volume_Down are completely unique keyboard signal codes that don't translate into other basic keystroke combo? – icelava – 2019-12-12T10:25:15.680

74

Do:

Win + B

Left

Enter

PgUp/PgDown

Escape

This allows you to interact with the notification icons on the right side of the taskbar using the keyboard. Win + B brings focus to one of the taskbar icons, Left will move focus until you have focus on the volume icon, Enter will open the volume slider up, and PgUp/PgDown moves the slider.

enthdegree

Posted 2009-12-12T07:35:29.740

Reputation: 1 280

10You can also use Up/Down instead of PgUp/PgDown for finer control of the volume. – Kevin – 2014-07-17T15:59:16.477

I can only use Up/Down fwiw. Also, there were some icons in between the one Win + B focuses on and the volume icon requiring more Right presses, but you can drag that to be right next to it. – MSpreij – 2018-03-07T13:34:26.840

24

There is a good enough solution that does not require installing additional programs:

  1. Click your start menu and type sndvol in the search box
  2. Create a shortcut on your desktop for it (right-click -> Send to Desktop (create shortcut)
  3. Right-click on the new shortcut and edit Properties
  4. On the Shortcut tab, set the box “shortcut key” to your prefrence. For example: CTRL + ALT + V, and hit OK.

Now you can press your shortcut keys and the volume control box will popup. Then use the UP and DOWN arrows to change the volume, and ESC to close.

Recipe taken form this blog post.

DReispt

Posted 2009-12-12T07:35:29.740

Reputation: 365

3Alternatively, add the shortcut to the taskbar and make sure it is somewhere to the left. The combination Wnd + <n> will launch the n-th application, leftmost = 1. – Roel Spilker – 2016-07-01T15:01:48.137

23

Volumouse

provides you a quick and easy way to control the sound volume on your system - simply by rolling the wheel of your wheel mouse.

outsideblasts

Posted 2009-12-12T07:35:29.740

Reputation: 6 297

Worked for me. The UI is not particularly intuitive, but Vol+/- worked out of the box (Alt+scroll wheel). To get Mute working with the scroll wheel, I added two rules for Mute: Alt-Ctrl and Left mouse button down, both applied to the Speakers Component with Channel=Mute/Unmute. I also had to change Vol+/- to be Alt+Shift (plain Alt prevented my Alt-Ctrl setup from working with Mute). And yes, "Left mouse button is down" is what made the scroll wheel work for me. Maybe it's mis-mapped? – kghastie – 2016-07-22T14:33:09.820

1When I'm in a game and I try to use this, it causes the game to become minimized. – Phenom – 2009-12-12T19:38:01.563

7

NirCmd is an application that changes the volume and more.

Example of use:

  • Increase the system volume by 2000 units (out of 65535)
    nircmd.exe changesysvolume 2000
  • Decrease the system volume by 5000 units (out of 65535)
    nircmd.exe changesysvolume -5000
  • Set the volume to the highest value
    nircmd.exe setsysvolume 65535

You could use it, together with AutoHotkey to invent your own volume keys.

harrymc

Posted 2009-12-12T07:35:29.740

Reputation: 306 093

6

Just found open source software 3RVX which "provides an on-screen display (OSD) for Windows systems. It supports skinnable volume and eject OSDs as well as a range of hotkey controls, tray notifications, and other cool features. Simulates the look and feel of the OS X volume overlay (different skins are available) and you can configure key combinations."

Also available on GitHub

Goozak

Posted 2009-12-12T07:35:29.740

Reputation: 63

4

You could use this AutoHotkey macro: Volume On-Screen-Display (OSD) -- by Rajat

The interesting part is here:

vol_WaveUp:
SoundSet, +%vol_Step%, Wave
Gosub, vol_ShowBars
return

vol_WaveDown:
SoundSet, -%vol_Step%, Wave
Gosub, vol_ShowBars
return

vol_MasterUp:
SoundSet, +%vol_Step%
Gosub, vol_ShowBars
return

vol_MasterDown:
SoundSet, -%vol_Step%
Gosub, vol_ShowBars
return

If you modify the script and remove the "Gosub", you can change the volume without the OSD bars.

Snark

Posted 2009-12-12T07:35:29.740

Reputation: 30 147

1

appears that with vista+ If you want to update the system sound level you have to use Send {Volume_Up}

http://www.autohotkey.com/docs/commands/SoundSet.htm

viz: http://www.codeproject.com/KB/audio-video/mixerSetControlDetails.aspx (comment "does this work in vista" reveals that you need to use an IAudioEndpoint now for global adjustment).

– rogerdpack – 2010-07-13T23:02:04.770

You can also easily mute/unmute by doing a "vol_up" then "vol_down" keystroke which unmutes if it is muted. – rogerdpack – 2010-07-16T05:12:34.060

I tried this script. Even though the OSD bars change, the volume doesn't change. – Phenom – 2009-12-12T08:43:26.623

3

The best way I fount for manipulating the system volume level on Windows without the need for installing additional software is to use VBScript in one of the following ways:

Toggle muted:

Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys(chr(&hAD))

Increase volume level:

Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys(chr(&hAF))

Decrease volume level:

Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys(chr(&hAE))

Durgesh Pandey

Posted 2009-12-12T07:35:29.740

Reputation: 131

3

Try Sound Volume Hotkeys

This tool allows to control sound volume using system-wide hotkeys. Customizable on-screen sound volume indicator will show you the current level.

enter image description here enter image description here

Brian Chavez

Posted 2009-12-12T07:35:29.740

Reputation: 248

1Nice free software, but it's hard-coded to use Ctrl+Arrow Up/Down – Lessan Vaezi – 2012-08-05T05:39:40.190

@LessanVaezi Yes, it is. I dislike that too. – Brian Chavez – 2012-08-07T06:23:07.023

0

My favorite way of controlling the master volume use the scroll wheel while the cursor is over the taskbar via AutoHotkey:

#If MouseIsOver("ahk_class Shell_TrayWnd")
WheelUp::Send {Volume_Up}     ; Wheel over taskbar: increase/decrease volume.
WheelDown::Send {Volume_Down} ;

See https://autohotkey.com/docs/Hotkeys.htm for more details

To make it possible to control the volume wherever the cursor is (while capslock is pressed), you can add the following:

capslock & wheelup::Send {Volume_Up}
capslock & wheeldown::Send {Volume_Down}

Stenemo

Posted 2009-12-12T07:35:29.740

Reputation: 266

0

Although it's a very old question, I want to report my findings on this topic. I stumbled across an AutoHotKey_L library whilst trying to overwrite my keyboard's Volume_Up and Volume_Down global hotkeys. The purpose was to be able to control master volume while running restrictive, key press consuming fullscreen applications/games (Bethesda's games as an infamous example). The functions are pretty straightforward, so I'll just post a little example:

Volume_Up::
    newVol := VA_GetMasterVolume() + 5
    VA_SetMasterVolume(newVol)
return

Volume_Down::
    newVol := VA_GetMasterVolume() - 5
    VA_SetMasterVolume(newVol)
return

In principle, this code contains everything you'll need. It overwrites both keys to do the same as before, but instead of relying on the OS to catch the keypress, AHK sets the volume by itself. Of course, you can specify any other hotkey. Since there doesn't seem to be a built-in function to change the volume relatively, you'll have to get the current volume first and then in-/ decrease it at will (here: 5). VA_SetMasterVolume accepts values between 0.0 and 100.0, inclusive.

To get this working in restrictive fullscreen windows, it was sufficient to call the #UseHook directive at the top of my script.

References:

  1. Library download: Vista Audio Control Functions by Lexikos
  2. VA Online documentation

MCL

Posted 2009-12-12T07:35:29.740

Reputation: 196