Salut à tous,
je cherche un moyen pour désactiver une connection IRDA (sous windows XP) puis la réactiver directement dans un code c#. En cherchant sur le net, j'ai trouvé qu'il fallait travailler avec la classe Win32_InfraredDevice. Le problème est qu' apparemment les méthodes du style reset() ne sont pas implémenté pour l'ensemble de classes WMI.
De ce fait j'ai essayé de récupérer directement les valeurs de propriétés de mon matériel IRDA puis de les modifier via le code suivant :
La propriété est récupérée correctement, je l'affiche, je modifie la valeur de celle-ci, je réaffiche la valeur, jusque la pas de problème. Cependant, en relancant cette partie de code, je m'aperçois que je modifie bien la valeur de mon Management Object mais pas la valeur réelle du matos IRDA. Apparemment une fonction put() existe pour mettre à jour les valeurs mais encore une fois elle n'a pas l'air implémentée pour cette bibliothèque :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ManagementClass MC = new ManagementClass("Win32_InfraredDevice"); ManagementObjectCollection MOC = MC.GetInstances(); foreach (ManagementObject MO in MOC) { liste.Items.Add(MO.ToString()); liste.Items.Add(MO.GetPropertyValue("Availability").ToString()); MO.SetPropertyValue("Availability", 7); //7 = non disponible liste.Items.Add(MO.GetPropertyValue("Availability").ToString()); }
Donc voila je ne vois plus trop comment faire pour désactiver cet IRDA et je me suis dit que certains avaient déjà du tomber sur ce problème ^^.
Merci d'avance pour vos réponses, bonne journée.
Partager