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

Threads & Processus C++ Discussion :

déterminer le PID de son propre processus


Sujet :

Threads & Processus C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Par défaut déterminer le PID de son propre processus
    quelqu'un pourrait-il me dire comment un processus peut-il connaitre son propre PID....
    en effet, grâce au code donné, je veux que mon processus puisse envoyer un certain message à un autre processus, autre que lui, alors même que tous ses processus sont des mêmes instances d'un code et qu'ils portent tous le même nom en s'exécutant...........

    HANDLE hSnapShot;
    PROCESSENTRY32 uProcess;
    bool r;
    short PID = 0;

    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
    uProcess.dwSize = (DWORD) sizeof(PROCESSENTRY32);

    r = Process32First(hSnapShot, &uProcess);//on récupére le 1er processus

    do
    {

    if (strstr(uProcess.szExeFile,"monProcessus") ) //on a trouvé le processus
    {
    PID = (short) uProcess.th32ProcessID; //on récupére le PID du processus

    // On retrouve le HWND correspondant au processus trouvé
    HWND hWindowRecherche = NULL;
    DWORD test_pid,test_thread_id;
    HWND hWindow = ::FindWindow(NULL,NULL);

    do
    {
    if(::GetParent(hWindow) == NULL)
    {
    test_thread_id = ::GetWindowThreadProcessId(hWindow,&test_pid);

    if(test_pid == PID)
    {
    hWindowRecherche = hWindow;

    if ( PID != 0 )
    {

    =======> "j'envoie coucou à mon processus"

    }
    }
    }
    hWindow = ::GetWindow(hWindow, GW_HWNDNEXT);
    } while (hWindow);
    }
    r = Process32Next(hSnapShot, &uProcess); //on passe au processus suivant dans la liste
    } while ( r );

  2. #2
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Par défaut
    balise de code ne serait pas de trop.
    Sinon la fonction getpid() te renvoie le pid du processus courant.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Et sous environnement Microsoft (vu que tu développes sous Windows), c'est GetCurrentProcessId()
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

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

Discussions similaires

  1. [AC-2007] Créer son propre ClipBoard (Copier,Coller) pour des champs déterminé
    Par robyseb dans le forum Contribuez
    Réponses: 0
    Dernier message: 02/11/2011, 03h05
  2. Réponses: 42
    Dernier message: 19/06/2007, 09h40
  3. Réponses: 15
    Dernier message: 04/01/2007, 11h15
  4. Création de son propre message dans un formulaire
    Par androme dans le forum C++Builder
    Réponses: 17
    Dernier message: 06/02/2005, 23h13
  5. [C#] Ajouter son propre composant dans Design de VS.Net
    Par yannick_sch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/08/2004, 11h14

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