Récupérer le nom d'un port COM

Arnal88 Messages postés 96 Date d'inscription samedi 21 octobre 2006 Statut Membre Dernière intervention 25 avril 2009 - 15 sept. 2007 à 20:30
cs_nemo69 Messages postés 3 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 16 juin 2008 - 16 juin 2008 à 13:53
Bonjour,

Je suis en train de développer un programme en VB 2005 pour communiquer avec un montage électronique que j'ai fais. J'utilise un module de communication USB qui me transmet les données sur un port série virtuel.

J'utilise donc le composant SerialPort du Framework et la fonction System.IO.Ports.SerialPort.GetPortNames pour obtenir la liste des ports COM. Mais cette fonction me renvoit une liste contenant "COM1", "COM2" ect...

Comment puis-je récupérer le nom associé aux différents ports COM ?

Par exemple, dans le gestionnaire de périphériques, on peut voir que COM1 s'appelle "Port de communication (COM1)"
Ainsi, mon programme pourrait reconnaitre automatiquement mon montage (puisque mon module USB s'appelle "USB Serial Port") et l'utilisateur n'aurait plus à choisir un port COM dans une liste.

Merci pour votre aide.

2 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
20 sept. 2007 à 23:48
salut,

cela se réalise avec les apis SetupDi* :
-> tu récupères une catégorie de Device de type "ports"
-> tu récupéres la liste des devices de cette catégorie
-> tu itérères sur chaque device et tu ouvre la clé de registre qui contient les infos sur le port : valeur "Friendly Name"/SPDRP_FriendlyName et "PortName"
-> tu closes bien tout

autrement dit : http://www.delphi3000.com/articles/article_4001.asp?SK=

ShareVB
0
cs_nemo69 Messages postés 3 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 16 juin 2008
16 juin 2008 à 13:53
Salut

j'ai actuelement le besoin de faire exactement comme notre ami Arnal88. Le problème est que je n'arrive pas a comprendre ce que ShareVb propose. Pourrais-je avoir une explication svp?

Merci d'avance de vos réponses
0
Rejoignez-nous