IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Problème avec un programme éxécuter en console


Sujet :

Windows

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Problème avec un programme éxécuter en console
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c:\monRep\sendhex image.hex 38400 1
    La fonction me dit d'appuyer sur entrer pour confirmer, je valide et le transfert demarre.
    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

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    pour info la balise code de fin débute avec '/' et pas '\'.
    Essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c&#58;\monRep\sendhex image.hex 38400 1 <return.txt
    Où le return.txt contient uniquement un retour chariot. Au cas où, il est possible de créer automatiquement le fichier return.txt en utilisant les commandes de Debug.

    Sous quelle version de MS-DOS es-tu ?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Béni soit tu!!
    Tu viens de me sauver car j'étais en train de coder la fonction sendhex en C. Je te remercie car cette solution est la seule qui marche. Je bloquait dessus depuis mercredi. Honte à moi, car je sais faire ça sous Unix, mais pas pensez sous DOS.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 20/10/2011, 12h41
  2. Réponses: 3
    Dernier message: 28/12/2006, 15h06
  3. Réponses: 4
    Dernier message: 22/08/2006, 18h28
  4. Réponses: 11
    Dernier message: 14/02/2006, 00h26
  5. Problème avec le programme executable
    Par GreyDragon dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/10/2005, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo