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

API, COM et SDKs Delphi Discussion :

Comment détecter le port COM du modem GSM USB connecté par programmation


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 11
    Par défaut Comment détecter le port COM du modem GSM USB connecté par programmation
    bonjour,
    j'ai écrit une application delphi qui envoie des messages SMS à partir d'un modem USB GSM via command at. J'utilise tcomport
    Jusqu'à présent, je cherchais le port COM manuellement à l'aide du gestionnaire de périphériques de Windows, et l'écrire dans un fichier de propriétés. Je me demande si il ya un moyen de détecter le port COM du modem gsm usb connecté par programmation?

    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 576
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    peut être en fouillant de le b....l de la base de registre ou bien, plus malin, en utilisant les WMI (à mon avis root\cimv2 win32_serialport)
    en utilisant WMI Delphi Code Creator cela devrait faciliter le travail

  3. #3
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 700
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 700
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    peut être en fouillant de le b....l de la base de registre
    J'ai le même besoin dans un de mes projets, et la base de registre est le moins fiable pour ça : elle est mise à jour très peu souvent.

    Citation Envoyé par SergioMaster Voir le message
    ou bien, plus malin, en utilisant les WMI (à mon avis root\cimv2 win32_serialport)
    en utilisant WMI Delphi Code Creator cela devrait faciliter le travail
    C'est mieux, mais ça ne voit même pas tous les périphériques branchés (ou émulés) en COM.
    Je suis obligé de balayer et tester chaque numéro de port COM pour m'assurer que WMI n'en a pas oublié un.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 576
    Billets dans le blog
    65
    Par défaut
    C'est mieux, mais ça ne voit même pas tous les périphériques branchés (ou émulés) en COM.
    Je suis obligé de balayer et tester chaque numéro de port COM pour m'assurer que WMI n'en a pas oublié un.
    w32_serialport ne va chercher que les ports série du pc pas ceux branchés sur USB, la recherche doit certainement être possible via une autre "table" comme W32_DeviceBus ou ce qui concerne le PNP ?


    [Edit]
    Trouvé sur le net cette première solution mais qui fait appel à une classe GUID
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Win32_PnPEntity WHERE ClassGuid="{4d36e978-e325-11ce-bfc1-08002be10318}"
    la même chose, moins rapide (à cause du like) mais certainement plus "explicite"
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Win32_PnPEntity WHERE Name LIKE '%COM%'

    Malheureusement je n'ai pas de quoi tester cette théorie, je n'ai rien à brancher sur port COM

  5. #5
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 700
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 700
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Trouvé sur le net cette première solution mais qui fait appel à une classe GUID
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Win32_PnPEntity WHERE ClassGuid="{4d36e978-e325-11ce-bfc1-08002be10318}"
    Ça marche !

    Citation Envoyé par SergioMaster Voir le message
    la même chose, moins rapide (à cause du like) mais certainement plus "explicite"
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Win32_PnPEntity WHERE Name LIKE ''%COM%''
    Chez-moi, ça ne donne aucun résultat.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 576
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Citation Envoyé par Lung Voir le message
    Chez-moi, ça ne donne aucun résultat.
    Name n'est peut être pas non plus la bonne colonne

    et pour en revenir à la question de pen120 il doit certainement pouvoir affiné la recherche au seul élément via la clause where et sur une des colonnes de la table

Discussions similaires

  1. Communication avec modem GSM sur port COM
    Par cheasy dans le forum Langage
    Réponses: 16
    Dernier message: 05/06/2013, 10h32
  2. Détecter débranchement port COM
    Par Koko33 dans le forum Windows
    Réponses: 3
    Dernier message: 22/01/2013, 08h57
  3. Comment détecter les ports USB?
    Par Fares BELHAOUAS dans le forum Visual C++
    Réponses: 2
    Dernier message: 18/07/2007, 17h36
  4. comment utiliser le port com a mes application?
    Par zakichanedz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/05/2007, 20h03
  5. comment détecter l'absence de connexion sur port COM ?
    Par nicoboud2 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 12/04/2006, 14h41

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