Switch default audio devices on Windows (7, 8 and 10)
C++ C Batchfile
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Default Audio Changer is a program that can change the default audio device on a Windows 7, 8 and 10 OS-es. It is especially useful if you're like me and have a sound card with speakers attached and a USB headset/headphones.
It is made for lazy people, so if you're not lazy, you can continue to use the control panel application (mmsys.cpl).

Running it for the first time, just loads the application. Any subsequent launches, will just switch the default audio device as per your settings. Or just configure a hotkey.

This is a solution created with Visual Studio 2015 Community. It is using WTL 9.1. You can obtain it from http://sourceforge.net/projects/wtl/files/ .
To compile it, just grab the source code, open the solution (.sln) file, update the include path to where WTL include files are (e.g. c:\WTL91\include), and recompile.

WARNING: It has only been tested on Windows 7, 8, 8.1 and Windows 10 with all the patches applied. Since it is using an undocumented interface it may stop working at any point in time in the future, next patch, next service pack or next version.
If it's not working for you...tough luck.

Extract the zip file in some directory. Double-click on the executable. It will add an icon to your tray area. Additionally, if you're running the program for the first time, it will display the settings window. 
In this window all the active audio interfaces in the system are displayed. Please check those that you want the program to switch between. Now you can either minimize the window or click the Hide button.

Launch the application again. Notice how it cycles between the selected audio devices. If you have a program that uses the audio, you will also notice where the sound will be heard.

Starting with version 1.0.2 hotkey switching is supported. In the option's dialog, click on the hotkey checkbox and register your hotkey. You can now switch the devices using a simple keystroke.

This application, while simple, can and probably has bugs. If you think you've found any, just create an issue on github, they'll make sure it gets to me.