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

MFC Discussion :

GetCurrentProcessId() et GetExitCodeProcess


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    rpsi
    Inscrit en
    Juin 2006
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : rpsi

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Par d�faut GetCurrentProcessId() et GetExitCodeProcess
    Bonjour,

    J'ai un exe A qui lance un exe B en lui passant en argument le PID de A via GetCurrentProcessId()
    Dans B, j'attend que A se termine via le code (m_nPid a �t� pass� en argument) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    HANDLE m_nPid=argument passé à l'exe;
    DWORD dwExitCode = 0;
    while(1)
    {
        GetExitCodeProcess(m_nPid, &dwExitCode);
        if(dwExitCode == STILL_ACTIVE) 
        {
            continue;
        }
        break;
    }
    // Traitement...
    �� ne marche pas ...
    je pense que �� vient du fait que GetExitCodeProcess veut en premier argument un HANDLE et que je lui donne un PID. je pense que ce n'est pas la m�me chose...
    Mais, je ne trouve pas l'�quivalent de GetExitCodeProcess qui accepte un num�ro de PID ou alors l'�quivalent de GetCurrentProcessId() qui me donnerait un HANDLE. (peut �tre une variable globale ?)
    �� doit �tre tr�s simple, mais je ne trouve pas ...

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

  3. #3
    Membre averti
    Homme Profil pro
    rpsi
    Inscrit en
    Juin 2006
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : rpsi

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Par d�faut
    je regarde ��, merci

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    GetCurrentProcess() retourne un HANDLE vers le processus courant.

    Mais j'esp�re que tu es conscient que le processus courant sera toujours en STILL_ACTIVE, puisque c'est le processus courant...


    PS: Pour attendre la fin d'un processus, il est pr�f�rable d'utiliser WaitForSingleObject(). Et ensuite, on peut utiliser GetExitCodeProcess() pour obtenir la valeur retourn�e par main() ou pass�e � ExitProcess() ou (je suppose) au dernier ExitThread()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Homme Profil pro
    rpsi
    Inscrit en
    Juin 2006
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : rpsi

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Par d�faut
    M�dinoc:
    Mais j'esp�re que tu es conscient que le processus courant sera toujours en STILL_ACTIVE, puisque c'est le processus courant...
    j'ai 2 executables, le processus A lance le processus B et c'est le processus B qui attend que le processus A se termine.
    Je fais fonc un getcurrentprocess dans A et un getexitcodeprocess dans B
    je pense que la logique est bonne.

    je vais voir le code propos� par nico-pyright(c)
    Merci

  6. #6
    Membre averti
    Homme Profil pro
    rpsi
    Inscrit en
    Juin 2006
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : rpsi

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Par d�faut
    c'est bon, �� marche, merci

+ R�pondre � la discussion
Cette discussion est r�solue.

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