cs_hastalavista
Messages postés38Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention26 février 2008
-
30 janv. 2008 à 18:23
nipo95
Messages postés3Date d'inscriptionlundi 4 mai 2009StatutMembreDernière intervention29 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 ?)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
cs_hastalavista
Messages postés38Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention26 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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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 >
Vous n’avez pas trouvé la réponse que vous recherchez ?