J'avais oublié une méthode sans API pour détecter les ports COM
C'est la commande DOS mode
Code : Tout sélectionner
C:\>mode
Statut du périphérique COM4:
----------------------------
Baud : 1200
Parité : None
Bits de données : 7
Bits d’arrêt : 1
Temporisation : OFF
XON/XOFF : OFF
Protocole CTS : OFF
Protocole DSR : OFF
Sensibilité DSR : OFF
Circuit DTR : ON
Circuit RTS : ON
Statut du périphérique CON:
---------------------------
Lignes : 9001
Colonnes : 120
Vitesse clavier : 31
Délai clavier : 1
Page de codes : 850
C:\>
Pour trouver les ports COM, utiliser clip pour parser le résultat dans PB
Un exemple rapide
mode com | find /i "COM" donne
Code : Tout sélectionner
C:\>mode | find /i "COM"
Statut du périphérique COM4:
C:\>
Code : Tout sélectionner
ClearClipboard()
Flags = #PB_Program_Wait|#PB_Program_Hide
RunProgram("cmd.exe", "/c mode | find /i "+Chr(34)+"COM"+Chr(34)+"|clip", "", Flags)
result$ = GetClipboardText()
Debug result$