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

Messages postés
65
Date d'inscription
lundi 23 avril 2007
Dernière intervention
22 mars 2019
- - Dernière réponse : vb95
Messages postés
1824
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 mars 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 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
12939
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 mars 2019
350
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 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Whismeril
Messages postés
65
Date d'inscription
lundi 23 avril 2007
Dernière intervention
22 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 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Jayme65
Messages postés
12939
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 mars 2019
350
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
65
Date d'inscription
lundi 23 avril 2007
Dernière intervention
22 mars 2019
1
0
Merci
Ceci est un lien vers un composant payant!?
Commenter la réponse de Jayme65
Messages postés
1824
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 mars 2019
64
vb95
Messages postés
1824
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 mars 2019
64 -
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.