A solução para todos os seus incômodos problemas de automação do Windows: AutoIt !
Coloque este AutoIt e compile-o
;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----
Dim $ItemNumber = 1
If $CmdLine[0] >= 1 Then ;If we have a parameter...
$ItemNumber = $CmdLine[1] ;...we should press the button the specified number of times.
EndIf
Run("control mmsys.cpl") ;Run the sound control applet and hide it.
WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.
Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list
For $i = 1 to $ItemNumber Step 1
Send("{DOWN}")
Next
Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)
Agora crie um atalho e, no Target, coloque o caminho para o executável compilado. Para um argumento, coloque o número do dispositivo de som na lista para a qual você deseja alternar. (para mudar para o primeiro item da lista, coloque 1, o segundo item da lista, coloque 2, etc). Se você quiser um atalho de teclado, use o campo Tecla de atalho na janela de propriedades do atalho.
Eu estava procurando algo para fazer o que você queria fazer e descobri que não há nenhuma maneira programática de alternar dispositivos de áudio no Vista / 7. Não é algo que a Microsoft decidiu que os programadores precisam fazer, então eu faço esse script para automatizar o processo. Não é o melhor, pois aparece a janela para alterar o dispositivo (necessário), mas permite criar atalhos para alterar o dispositivo de saída do som.