Bonjour,
J'ai une application qui de temps en temps doit couper le son de l'ordinateur. La seule méthode que j'ai trouvée pour l'instant est d'ouvrir sndvol32.exe et de lui envoyer le message Alt + M, qui le passe en muet. (Déjà c'est une méthode que je trouve moyennement propre).
Donc le but du jeu est d'ouvrir une fenêtre (sndvol32.exe), de lui envoyer un message et de fermer la dite fenêtre.
Pour ouvrir la fenêtre pas de problème : 3 solutions CreateProcess, ShellExecuteEx ou ShellExecute.
Pour la fermer, ca ne fonctionne que si elle a été ouverte avec l'une des 2 premières fonctions. TerminateProcess fonctionne très bien (avec le handle que la fonction de création me retourne).
Le problème c'est pour lui envoyer ce fameux message. 2 fonctions pour cela : PostMessage ou SendMessage, mais toutes les 2 ne fonctionnent pas et me disent tres gentillement que le handle de ma fenêtre n'est pas valide
(Enfin gentillement, c'est façon de parler, il faut quand même appeler la fonction GetLastError suivie de FormatMessage, pour comprendre ce qu'il s'est passé).
Pour info le handle est retourné par la fonction de création alors je ne vois pas pourquoi il serait pas valide! Surtout que TerminateProcess, lui, fonctionne.
Donc voilà, je désespère et j'ai besoin de votre aide.
Merci
Partager