IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Trouver le nom des ports COM sur le PC


Sujet :

VB.NET

  1. #1
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 927
    Points : 312
    Points
    312
    Par défaut Trouver le nom des ports COM sur le PC
    Bonjour,


    Cela fait un moment que je cherche, quand j'y pense car je suis pas bloqué la dessus, sans trouver la réponse.

    Comment trouver le nom des ports COM. Je ne parle pas du nom des port (COM1, COM2 etc..) que l'on récupère par SerialPort.GetPortNames(), mais le nom du matériel. Nom que l'on peut visualiser dans le gestionnaire de périphérique.

    Nom : 2014-10-01_073935.jpg
Affichages : 15583
Taille : 8,3 Ko


    Ici "Communications Port" pour le COM1 et "USB Serial Port" pour le COM2.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Il y a peut être plus simple mais tu peux le faire via WMI (WMI .NET Overview)

    Exécute ceci dans une invite de commande de Windows :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic path Win32_SerialPort get Caption,Description,Name /value
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 927
    Points : 312
    Points
    312
    Par défaut
    Bonjour DUT,

    Cela fonctionne effectivement mais cela me donne que le Port COM1 alors qu'au moment ou je l'ai effectué j'ai 3 port COM d'actif. Je vais regarder si l'on peu spécifier le port COM à interroger. Si c'est OK reste à utiliser ce code en VB.

    Merci pour la piste.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Citation Envoyé par megamario Voir le message
    Cela fonctionne effectivement mais cela me donne que le Port COM1 alors qu'au moment ou je l'ai effectué j'ai 3 port COM d'actif.
    Ce sont des ports virtuels, non ?

    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic path Win32_PnPEntity where "Caption like '%(COM%' or Name like '%(COM%'" get Caption,Description,Name /value
    Est-ce une solution assez robuste ? A tester…

    C'est tout ce que j'ai trouvé en cherchant sur internet.

    Je ne connais pas le VB.NET mais si tu ne veux pas t'embêter avec WMI, tu dois pouvoir exécuter WMIC avec une commande système et lui demander d'écrire le résultat dans un fichier texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic path Win32_PnPEntity where "Caption like '%(COM%' or Name like '%(COM%'" get Caption,Description,Name /value > cominfos.txt
    Il te restera à lire le contenu de ce fichier dans la suite de ton code VB.NET.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 927
    Points : 312
    Points
    312
    Par défaut
    Cela fonctionne parfaitement, a défaut d'avoir un code VB, sa cela marche, merci.


    Pour les ports COM c'est des Convertisseurs USB/RS232.

    Merci encore

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Sinon tu peux exécuter la commande sur la console et rediriger la sortie (ex avec une controle richtextbox)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                Dim psi As System.Diagnostics.ProcessStartInfo = New System.Diagnostics.ProcessStartInfo()
                psi.FileName = "wmic" ' nom de fichier indispensable
                psi.Arguments = "path Win32_PnPEntity where ""Caption like '%(COM%' or Name like '%(COM%'"" get Caption,Description,Name /value"
                psi.UseShellExecute = False                     ' autorise le choix de redirection
                psi.RedirectStandardOutput = True               ' autorise la redirection
                Dim p As System.Diagnostics.Process = New System.Diagnostics.Process
                p.StartInfo = psi
                p.Start()
                RichTextBox1.Text = p.StandardOutput.ReadToEnd()        ' sortira sur
                p.WaitForExit()
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  7. #7
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 927
    Points : 312
    Points
    312
    Par défaut
    Super, je vais tester cela.

    Merci à vous 2.

    Si l'on pouvait rendre la fenêtre d’exécution invisible se serait parfait.

    [edit] j'ai trouvé,

    psi.CreateNoWindow = True

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WS 2008 R2] Redirection des ports COM sur un TS 2008 R2
    Par Nono23 dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 14/01/2013, 15h04
  2. Récupérer les noms des ports COM actifs
    Par snymix dans le forum C#
    Réponses: 2
    Dernier message: 15/03/2010, 10h35
  3. [Port COM]Bizzarrerie des ports COM
    Par loverdose dans le forum Windows XP
    Réponses: 5
    Dernier message: 01/06/2006, 16h41
  4. Réponses: 4
    Dernier message: 07/04/2006, 18h08
  5. Mise à jour de la liste des ports COM détectées
    Par chourmo dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/12/2005, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo