Savoir etat port serie

cs_hastalavista Messages postés 38 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 26 février 2008 - 30 janv. 2008 à 18:23
nipo95 Messages postés 3 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 29 mai 2009 - 29 mai 2009 à 00:44
bonjour tout le monde


je voulais savoir comment on peut connaitre "puis afficher" l'etat du port serie (COM 1 et COM 2 : active ou desactive ?)


merci bcp

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 janv. 2008 à 19:29
Salut
Précise ta question :
-1- Tu cherches à lister les ports Comm disponibles sur ta machine ou bien
-2- tu connais déjà les n° des ports et tu souhaites savoir s'ils sont "ouverts" ?

Dans le premier cas, il faut aller fouiner dans la base de registres dans
   HKEY_LOCAL_MACHINE  et  HARDWARE\DEVICEMAP\SERIALCOMM

Dans le deuxième cas, il te suffit d'associer un MSComm32 à chaque port :
Si l'écriture de .CommPort ne déclenche pas d'erreur programme, c'est que le port est libre. Il est en effet impossible d'associer un nouveau composant à un port déjà en cours d'utilisation.
Sinon, après association, suffit de regarder la valeur de .PortOpen

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_hastalavista Messages postés 38 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 26 février 2008
31 janv. 2008 à 08:31
bonjour jack
en fait j'ai telechargé un patch de chez Microsoft a l'adresse :

http://support.microsoft.com:80/default.aspx?scid=kb;EN-US;Q311272avec ce patch je peux lancer une commande :
devcon disable *PNP0501 pour desactiver le port serie (tout les COM)
et je peux les activer avec
devcon enable *PNP0501
il me reste juste d'attendre l'execution des commande
bon je peux resoudre ce probleme en te demandant une autre chose :
commont savoir si une commande dos s'est bien terminé :
ReturnValue = Shell("devcon disable *PNP0501", vbHide)
puis ?
es je teste sur la valeur de ReturnValue ?
merci bcp
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 janv. 2008 à 20:12
Re
Non, ReturnValue te renverra le PID du process, mais bon, des tas de questions du forum et de code parlent de la commande "Shell"
Si je comprends bien, tu veux lancer une commande DOS depuis VB6 et récupérer le résultat : la référence dans ce domaine, c'est le pipe avec <cette source>

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 janv. 2008 à 20:16
Encore moi.
Si le résultat de cette commande t'importe peu et que tu ne veuilles que savoir si la commande lancée est terminée, il te suffit d'utiliser le Shell avec une API nommée WaitForSingleObject.
Tu trouveras un exemple de code dans l'exemple fourni avec la description de l'API dans Api-Guide, un petit logiciel qui rescence toutes les API standards (pas toutes à jour, mais les principales)
Api-Guide est gratuit et dispo < ici >
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nipo95 Messages postés 3 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 00:44
slt moi je cherche comment lire une adress d'un perépherique connecté au COM1d'un pc via une liaison serie (MODBUS RTU) plzzz.et merci d'avance
0
Rejoignez-nous