Ich hab mir die Hilfe schon angeguckt nur weiß nicht was du meinst ich zeig dir einfach mal was ich eingetragen hab und was ich für Wiedergabegeräte habe.
AutoIt: Bearbeiteter Code
#include <GuiListView.au3>
;Starte das fenster zum wechseln
Run("c:\windows\system32\control.exe mmsys.cpl")
;warte, bis das fenster exitiert
while not WinExists("Sound")
WEnd
;handle des fensters abfragen
$handle=WinGetHandle("Sound")
;fenster verstecken
WinSetState("Sound","",@SW_HIDE)
;die listview herausfinden, in der die geräte aufgelistet sind
$listview=ControlGetHandle($handle, "", "[CLASS:SysListView32; INSTANCE:1]")
;Herausfinden, welches Gerät aktuell aktiv ist
local $i
;alle einträge durchlaufen
for $i=0 to _GUICtrlListView_GetItemCount($listview) step 1
;prüfen, ob es standartgerät ist
if _GUICtrlListView_GetItemText($listview,$i,2)=="Standardgerät" then
ExitLoop
endif
next
;sleep(1000)
;Name des aktiven Audiooutputs auslesen und nachsehen, ob es der lautsprecher ist
if _GUICtrlListView_GetItemText($listview,$i)=="Lautsprecher" then
;wenn ja, die liste erneut durchgehen
for $i=0 to _GUICtrlListView_GetItemCount($listview) step 1
;gucken, ob der name Bluetooth ist
if _GUICtrlListView_GetItemText($listview,$i)=="Realtek High Definition Audio" then
;Wenn ja, Eintrag auswählen
_GUICtrlListView_SetItemSelected ($listview,$i,true,true)
;auf den Button klicken, der es zum standartprogramm macht
ControlClick($handle,"Als Standard",1002)
;schleife verlassen
ExitLoop
endif
next
;wenns bluetooth ist
Else
;liste durchgehen
for $i=0 to _GUICtrlListView_GetItemCount($listview) step 1
;namen prüfen, ob er lautsprecher ist und ob SB Tactic... dransteht. Wenn ja
if _GUICtrlListView_GetItemText($listview,$i)=="Lautsprecher" and StringInStr(_GUICtrlListView_GetItemText($listview,$i,1),"Logitech G430 Gaming Headset")>0 then
;msgbox(48,"",_GUICtrlListView_GetItemText($listview,$i,1))
;Auswählen
_GUICtrlListView_SetItemSelected ($listview,$i,true,true)
;standartprogramm enden (button)
ControlClick($handle,"Als Standard",1002)
;schleife verlassen
ExitLoop
endif
next
endif
WinClose($handle)
;programm beenden
exit
Alles anzeigen