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

Signaler
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
-
vb95
Messages postés
2078
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 février 2020
-
Bonjour,

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

Merci!!

5 réponses

Messages postés
14257
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 février 2020
343
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
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
1
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?
Messages postés
14257
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 février 2020
343
Bonsoir,

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

C'est en winform, mais la partie graphique importe peu
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
1
Ceci est un lien vers un composant payant!?
Messages postés
2078
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 février 2020
86
vb95
Messages postés
2078
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 février 2020
86
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