Bon je vous explique mon problème avant que je me tire une balle.
Je suis en stage et je dois permettre l'initialisation des lecteur de code barre portatif en grande quantité (PDT Symbol, comme à Carrefour...).
Pour initialiser un PDT, il faut lui transferer une image mémoire NVM, cette image est stocké sur le PC au format .Hex .
Pour envoyer l'image, je met le PDT en attente sur un socle, liaison série.
Et lance le programme DOS de cette façon:
La fonction me dit d'appuyer sur entrer pour confirmer, je valide et le transfert demarre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 c:\monRep\sendhex image.hex 38400 1
J'ai fait un .bat qui contient plusieurs ligne identique : sendhex...
ça marche très bien, suaf qu'il faut appuyer plein de fois sur enter au début, pour que ça tourne en boucle.
J'ai donc commencer à automatiser cela en C++, j'arrive à lancer le programme, piloter la console comme bon me semble, mais une fois le sendhex lancé, il ne reçois pas la touche enter, il faut le faire à la main.
Pour l'instant, je n'appel pas sendhex directement par mon programme car cette fonctione est blocante et pas de thread en dos. Ma fenetre attend la touche entré, l'appli C++ redonne le focus à cette fenetre, envoi enter (SendInput), et la rien! par contre si je ne lance pas sendhex, la console reçoit bien le enter, vu qu'elle va à la ligne.
Du coup, je suis completement bloqué... Comment feriez vous pour envoyé la touche entrer?
Je n'ai pas les sources de sendhex, mais je pense que je vais finir par le ré écrire en C pour virer cette attente.
J'espère avoir été clair...
Merci
Partager