Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Permettre à l'utilisateur de choisir le PORT!

5 réponses
Avatar
zied
Bonjour.

Pour mon application, j'ai besoin de récupérer et d'afficher dans une combo
la liste des ports présents sur mon Pocket PC (port1, port2, ...)

Pour un Pocket PC quelconque, y a t il moyen en eVB de récupérer la liste
des ports qu'il contient ?

En vous remerciant

5 réponses

Avatar
zied
Après un coup d'oeil sur internet, je vais poser la question autrement.

On sais qu'à un controle Comm, on peut associé un port :
[code]
myComm.CommPort = 1 'pour le com1
[/code]
[code]
myComm.CommPort = 2 'pour le com2
[code]
[code]
...
[/code]

Ainsi, on peut choisir parmi 16 numéro de port.

Par contre, il faut choisir un numéro de port qui correspond à la réalité
çàd qui existe bien sur le Pocket PC.

Ma question est justement, comment savoir quels ports sont disponibles sur
le Pocket PC ?

Merci.
Avatar
zied
Après un coup d'oeil sur internet, je vais poser la question autrement.

On sais qu'à un controle Comm, on peut associé un port :
[code]
myComm.CommPort = 1 'pour le com1
[/code]
[code]
myComm.CommPort = 2 'pour le com2
[code]
[code]
...
[/code]

Ainsi, on peut choisir parmi 16 numéro de port.

Par contre, il faut choisir un numéro de port qui correspond à la réalité
çàd qui existe bien sur le Pocket PC.

Ma question est justement, comment savoir quels ports sont disponibles sur
le Pocket PC ?

Merci.
Avatar
Alain Zanchetta [MS]
La façon la plus simple que j'ai trouvée pour l'instant (je viens de
terminer un devt C++ qui affiche ces fameux ports) est de parcourir la
registry :
énumérer HKEY_LOCAL_MACHINEDriversActive
pour chaque clé, regarder si la valeur "name" est de la forme COMxxx:

si c'est le cas, je récupère la valeur "key" et ouvre la clé correspondante,
pour afficher la valeur Friendlyname si elle est disponible et DLL sinon (ça
permet par exemple de différencier un cable série d'une connexion IR)

Alain


"zied" wrote in message
news:

Après un coup d'oeil sur internet, je vais poser la question autrement.

On sais qu'à un controle Comm, on peut associé un port :
[code]
myComm.CommPort = 1 'pour le com1
[/code]
[code]
myComm.CommPort = 2 'pour le com2
[code]
[code]
...
[/code]

Ainsi, on peut choisir parmi 16 numéro de port.

Par contre, il faut choisir un numéro de port qui correspond à la réalité
çàd qui existe bien sur le Pocket PC.

Ma question est justement, comment savoir quels ports sont disponibles
sur
le Pocket PC ?

Merci.


Avatar
zied
Merci Alain pour ces informations.

J'ai essayé de faire d'une autre manière :

Je boucle sur les 16 ports du Pocket PC, je fais un Open puis un Close et si
une erreur apparait çà signifie que le port n'existe pas (ou qu'il est déjà
ouvert).

Voici la méthode obtenue en eVB :

Private Sub VerifPortExistant()

Dim i As Integer

GetFormFrm_main().MSCommTSP.Settings = "300,E,7,1"

For i = 1 To 16

GetFormFrm_main().MSCommTSP.DTREnable = True
GetFormFrm_main().MSCommTSP.CommPort = i

On Error Resume Next
GetFormFrm_main().MSCommTSP.PortOpen = True
If Err Then
Else
CmbPortsFlag.AddItem ("Comm" + CStr(i))
CmbPortsUridis.AddItem ("Comm" + CStr(i))
' Fermeture du PORT COM
GetFormFrm_main().MSCommTSP.DTREnable = False
GetFormFrm_main().MSCommTSP.PortOpen = False
End If

Next i

CmbPortsFlag.ListIndex = 0
CmbPortsUridis.ListIndex = 0

GetFormFrm_main().MSCommTSP.DTREnable = True
GetFormFrm_main().MSCommTSP.Settings = "300,E,7,1"
GetFormFrm_main().MSCommTSP.CommPort = CInt(Mid(CmbPortsFlag.Text, 5))
GetFormFrm_main().MSCommTSP.PortOpen = True
' Fermeture du PORT COM
GetFormFrm_main().MSCommTSP.DTREnable = False
GetFormFrm_main().MSCommTSP.PortOpen = False

End Sub

Elle marche.

Sauf que :

En allant dans la Base de Registre comme tu m'as dit, j'ai vu 5 ports comm
disponible : com1, com6, com3, com4 et com5.

Avec cette méthode de test d'ouverture du port, j'obtiens pas le com6! C'est
bizarre...

Sinon, une question :

Un pocket PC contient il forcement 16 ports au max ou bien c'est variable ?

Y a t il un nombre maximum de ports possibles sur un Pocket PC ?

En te remerciant.

Zied
Avatar
Alain Zanchetta [MS]
Pour le nombre de ports, je ne sais pas.
Pour la méthode, j'employais la même que toi jusqu'à ce que je constate
qu'elle bloque sur mon X50 lorsque Bluetooth est éteint.

Bonne soirée

Alain


"zied" a écrit dans le message de news:

Merci Alain pour ces informations.

J'ai essayé de faire d'une autre manière :

Je boucle sur les 16 ports du Pocket PC, je fais un Open puis un Close et
si
une erreur apparait çà signifie que le port n'existe pas (ou qu'il est
déjà
ouvert).

Voici la méthode obtenue en eVB :

Private Sub VerifPortExistant()

Dim i As Integer

GetFormFrm_main().MSCommTSP.Settings = "300,E,7,1"

For i = 1 To 16

GetFormFrm_main().MSCommTSP.DTREnable = True
GetFormFrm_main().MSCommTSP.CommPort = i

On Error Resume Next
GetFormFrm_main().MSCommTSP.PortOpen = True
If Err Then
Else
CmbPortsFlag.AddItem ("Comm" + CStr(i))
CmbPortsUridis.AddItem ("Comm" + CStr(i))
' Fermeture du PORT COM
GetFormFrm_main().MSCommTSP.DTREnable = False
GetFormFrm_main().MSCommTSP.PortOpen = False
End If

Next i

CmbPortsFlag.ListIndex = 0
CmbPortsUridis.ListIndex = 0

GetFormFrm_main().MSCommTSP.DTREnable = True
GetFormFrm_main().MSCommTSP.Settings = "300,E,7,1"
GetFormFrm_main().MSCommTSP.CommPort = CInt(Mid(CmbPortsFlag.Text, 5))
GetFormFrm_main().MSCommTSP.PortOpen = True
' Fermeture du PORT COM
GetFormFrm_main().MSCommTSP.DTREnable = False
GetFormFrm_main().MSCommTSP.PortOpen = False

End Sub

Elle marche.

Sauf que :

En allant dans la Base de Registre comme tu m'as dit, j'ai vu 5 ports comm
disponible : com1, com6, com3, com4 et com5.

Avec cette méthode de test d'ouverture du port, j'obtiens pas le com6!
C'est
bizarre...

Sinon, une question :

Un pocket PC contient il forcement 16 ports au max ou bien c'est variable
?

Y a t il un nombre maximum de ports possibles sur un Pocket PC ?

En te remerciant.

Zied