Gloops a écrit, le 04/01/2014 14:50 :
> Bonjour tout le monde,
>
> Sur
codeproject.com, Castor Tiu a proposé un beau projet de Mixer son
> pour Windows, mais en réponse à une question est arrivé il y a quelques
> années à la conclusion qu'on ne peut modifier la carte son de sortie par
> défaut de Windows qu'en passant par la boîte de dialogue proposée par le
> système.
>
> Quelqu'un serait-il depuis arrivé à une conclusion plus ... optimiste,
> quant à la possibilité de faire quelque chose de vraiment propre en ce
> domaine ?
>
> Dit autrement : j'ai des haut-parleurs intégrés à la carte mère, et un
> casque branché sur port USB, et j'aimerais proposer une interface
> personnalisée pour décider sur lequel de ces deux terminaux vont partir
> les sons système, en fonction de la fantaisie du moment.
>
Ah oui au fait j'avais mis une question ici ...
A défaut de pouvoir créer une interface personnalisée, ça pourrait
intéresser quelqu'un d'ouvrir l'interface Windows, pour sélectionner
l'unité son par défaut.
Ne pas oublier que cette solution, fonctionnant par simulation de
touches et lecture des titres de fenêtres, doit impérativement être
adaptée à chaque culture, ici la France.
Si j'envoie les deux Ctrl Tab d'un coup, un seul est exécuté, alors j'ai
mis un délai entre les deux.
Par rapport à un clic droit sur l'icône Volume dans la zone de
notification, et la suite, je gagne plus de trente secondes à
l'exécution, si ce n'est pas une minute.
'======================================================
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Exec "rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl"
strTitre = "Propriétés de Sons et périphériques audio"
While Not objShell.AppActivate(strTitre): WScript.Sleep(100): Wend
objShell.SendKeys("^{tab}")
WScript.Sleep(100)
objShell.SendKeys("^{tab}")
'======================================================