Bütün bu rahatsız edici Windows otomasyon problemlerinin çözümü: AutoIt !
Bu AutoIt'i koyun ve derleyin
;-----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)
Şimdi bir kısayol oluşturun ve Hedef içinde derlenen yürütülebilir dosyanın yolunu yerleştirin. Bir argüman için, ses cihazının numarasını geçmek istediğiniz listeye yerleştirin. (listedeki ilk öğeye geçmek için 1, listedeki ikinci öğe, 2 vb. koymak). Klavye kısayolu istiyorsanız, kısayolun özellikler penceresindeki Kısayol Tuşu alanını kullanın.
Ne yapmak istediğinizi yapacak bir şeyler arıyordum ve Vista / 7'de ses aygıtlarını değiştirmenin programlı bir yolu olmadığını bulmuştum. Bu sadece Microsoft'un programcıların yapması gereken bir şey değil, bu yüzden süreci otomatikleştirmek için bu betiği hazırlıyorum. Cihazı değiştirmek için pencereyi açması en iyisi değildir (gerekli), ancak sesin çıkış cihazını değiştirmek için kısayollar oluşturmayı mümkün kılar.