Ovládání systémové úrovně zvuku není jednoduché ani přes mateřský .NET
V podstatě seriózní zdroje se odkazují na šikovného borečka:
http://www.dreamincode.net/forums/topic/45693-cont rolling-sound-volume-in-c%23/
Což je rozsáhlejší nízkoúrovňové handlování Win32API.
Nebo na http://www.nirsoft.net/utils/nircmd.html to je ovládání systémových záležitostí přes CMD rozhraní aplikace
Existuje snad obezlička, kterou jsem našel.
Některé multimediální klávesnice mají klávesu pro přímé ubírání či přidávání hlasitosti.
Vyvolat takovou klávesu je možné v nativní knihovně kódem:
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
static IntPtr handle = Process.GetCurrentProcess().MainWindowHandle;
...
...
... //následně třeba:
SendMessageW(handle, WM_APPCOMMAND, handle,
(IntPtr)APPCOMMAND_VOLUME_DOWN); // ubere hlasitost
Což je řešení, které umožňuje udělat na tvé aplikaci dvě tlačítka + a - a tak může poklikáváním zesilovat ubírat system volume.