A solução para todos os problemas persistentes 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 uma discussão, coloque o número do dispositivo de som na lista para a qual você deseja alternar. (para alternar para o item superior da lista, insira 1, o segundo item da lista, insira 2 etc.). Se você deseja 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á 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 crio esse script para automatizar o processo. Não é o melhor, pois abre a janela para alterar o dispositivo (necessário), mas possibilita a criação de atalhos para alterar o dispositivo de saída para o seu som.