Рішення всіх ваших проблем із автоматизацією Windows: AutoIt !
Покладіть цей AutoIt і складіть його
;-----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)
Тепер створіть ярлик і в Target поставте шлях до складеного виконуваного файлу. Для аргументу введіть номер звукового пристрою у список, на який потрібно перейти. (для переключення на верхню позицію у списку ставити 1, другий елемент у списку, ставити 2 тощо). Якщо ви бажаєте комбінації клавіш, скористайтеся полем клавіш швидкого доступу у вікні властивостей ярлика.
Я шукав щось, щоб зробити те, що ви хотіли зробити, і виявив, що не існує програмного способу переключення аудіопристроїв у Vista / 7. Майкрософт вирішив, що програмістам потрібно це робити, тому я роблю цей сценарій для автоматизації процесу. Це не найкраще, оскільки воно спливає вікно, щоб змінити пристрій (необхідне), але це дає можливість створити ярлики, щоб змінити вихідний пристрій для вашого звуку.