Par la tu peux trouver la liste des ports com, il suffirai de laisser choisir l'utilisateur avec une liste.
https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx
Ou peut être mieux via le WMI :
http://stackoverflow.com/questions/1...able-com-ports
Par la tu peux trouver la liste des ports com, il suffirai de laisser choisir l'utilisateur avec une liste.
https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx
Ou peut être mieux via le WMI :
http://stackoverflow.com/questions/1...able-com-ports
Non je mets "COM3" mais j'aimerais qu'il prenne le "USB Serial Port" quelque soit son numéro
Il faudrait que je sorte la liste de tous mes ports que je récupère le numéro du port COM correspondant au port USB Serial Port le mettre dans une variable pour le passer au new serialport
http://stackoverflow.com/questions/2...-com-port-in-c
A voir, vu que je n'ai pas le matériel sous la main ce n'est pas évident de tester.
J'ai un problème avec le ManagementOBjectCollection qui est en erreur, même avec le using system.management;
http://thunderfist-podium.blogspot.c...ting-in-c.html
J'essaie avec ce liens mais je n'y arrive pas
Ok j'ai ajouté le System.Management à mon projet et maintenant le using fonctionne
J'ai du adapter le bout de code pour que ca fonctionne, et oui il faut ajouter la référence "System.Management" au projet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 static string[] GetUSBCOMDevices() { List<string> list = new List<string>(); ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity"); foreach (ManagementObject mo2 in searcher2.Get()) { try { string name = mo2["Name"].ToString(); if (name.Contains("(COM")) { list.Add(name); } } catch { } } string[] usbDevices = list.Distinct().OrderBy(s => s).ToArray(); return usbDevices; }
Ok, et il faut que j'attaque ça comment ? Je l'ajoute où est où est-ce que je lui donne le nom pour qu'il me retourne son N° ? merci
Dans la MessageBox j'ai bien le USB Serial Port (COM3) qui apparaît
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public static string[] GetUSBCOMDevices() { List<string> list = new List<string>(); ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity"); foreach (ManagementObject mo2 in searcher2.Get()) { try { string name = mo2["Name"].ToString(); if (name.Contains("USB Serial Port")) { list.Add(name); MessageBox.Show(name); } } catch { } } string[] usbDevices = list.Distinct().OrderBy(s => s).ToArray(); return usbDevices; }
J'ai plus qu'à extraire le COM entre les () et le placer dans une String !
C'est bon !!
Merci beaucoup !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 strNoCom = name.Split('(', ')')[1]; MessageBox.Show(strNoCom);
Salut
Sais-tu comment trier cette liste dans l'ordre ?
Si j'ai COM5, COM6, COM8 par exemple il va me prendre le COM8, mais si je veux le COM5 ?
Ou alors rajouter une condition pour prendre que ceux qui sont activé dans le gestionnaire de périphériques ?
Bref, comment trier la liste dans un sens ou un autre ?
merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager