[WPF] Accéder au volume général

Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
- - Dernière réponse : vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
- 11 déc. 2015 à 18:00
Bonjour,

Pourriez-vous me dire comment faire pour accéder au volume général (volume système) sous WPF?

Merci!!
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
13857
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 octobre 2019
312
1
Merci
Ha autant pour moi.

Sinon, en C# il y a de nombreux exemples, il suffit ensuite de les passer dans un traducteur en ligne.

Ici par exemple
http://stackoverflow.com/questions/13139181/how-to-programmatically-set-the-system-volume

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Whismeril
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
1
1
Merci
J'ai donc ceci qui semble tenir la route !? (en C#):

using System;
using System.Windows;
using System.Runtime.InteropServices;

namespace WpfApplication2
{
public partial class MainWindow : Window
{
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;

[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);

IntPtr handy = GetForegroundWindow();

public MainWindow()
{
InitializeComponent();
}

private void button1_Click_1(object sender, RoutedEventArgs e)
{
SendMessageW(handy, WM_APPCOMMAND, handy, (IntPtr)APPCOMMAND_VOLUME_MUTE);
}

private void button2_Click(object sender, RoutedEventArgs e)
{
SendMessageW(handy, WM_APPCOMMAND, handy, (IntPtr)APPCOMMAND_VOLUME_UP);
}

private void button3_Click(object sender, RoutedEventArgs e)
{
SendMessageW(handy, WM_APPCOMMAND, handy, (IntPtr)APPCOMMAND_VOLUME_DOWN);
}
}
}


J'aimerais maintenant pouvoir récupérer la valeur du volume système actuel quand l'application est lancée.
J'ai vu [URL="http://stackoverflow.com/questions/27728087/c-sharp-what-are-these-volume-changing-codes-messageshttp://"]ici/URL que "It has a macro called GET_APPCOMMAND_LPARAM() which retrieves the actual value from the param."

Comment pourrais-je incorporer à ce code (toujours en WPF) cette macro et ainsi pouvoir récupérer le volume actuel?

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Jayme65
Messages postés
13857
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 octobre 2019
312
0
Merci
Bonsoir,

voir ici
http://lakeofsoft.com/vcx/volume-control.html

C'est en winform, mais la partie graphique importe peu
Commenter la réponse de Whismeril
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
1
0
Merci
Ceci est un lien vers un composant payant!?
Commenter la réponse de Jayme65
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68
vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68 -
Salut je suis à côté de la plaque avec le code ci-dessus ! C'est un module qui permet grâce à un Slider de régler le volume sur un PC
Rien à voir avec ta demande
Commenter la réponse de vb95