begin process at 2012 02 10 23:17:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

PID et HANDLE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PID et HANDLE

mercredi 30 août 2006 à 13:05:01 | PID et HANDLE

CleFac

Bonjour,

J'aimerai savoir comment récupérer l'HANDLE d'une fenêtre quand on connais son PID.
Merci d'avance
mercredi 30 août 2006 à 13:28:19 | Re : PID et HANDLE

wxccxw

Membre Club
HANDLE HWND = FindWindow(NULL,"titre de la fentre");

ou sinon tu recupere son PID et en plus ta son HANDLE ^^ :
le Handle de la fenetre est HPROC, LE PID est PID

HANDLE Hproc;
DWORD PID;
 PROCESSENTRY32 pe32 = {0};
   
    HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (hProcessSnap == (HANDLE)-1) return 0;

    pe32.dwSize = sizeof(PROCESSENTRY32);

    BOOL bContinue = Process32First(hProcessSnap, &pe32);
   
    while (bContinue)
    {

            if(!strcmp("NOM.EXE",pe32.szExeFile)) {
                PID=pe32.th32ProcessID;
                MessageBox(DLG,"NOM.exe Found !","Test",0);
                              break;
         
    }
       
        bContinue = Process32Next(hProcessSnap, &pe32);
    }

Hproc= OpenProcess(PROCESS_ALL_ACCESS,NULL,(DWORD)PID); // On recupere le HANDLE



mercredi 30 août 2006 à 13:50:26 | Re : PID et HANDLE

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Un PID c'est pour un processus, or un processus peut avoir plusieurs fenêtres, donc ca peut poser problème.
Sinon tu utiliset EnumWindows, et dans la EnumWindowsProc tu compare le pid:

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
  DWORD dwProcessID;
  GetWindowThreadProcessId(hwnd, &dwProcessID);
  if(dwProcessID == pid)
  {
    // Cette fenêtre appartient au processus
    return FALSE;
  }
  return TRUE;
}

_____________________________________
Un éditeur de ressources gratuit pour Windows

mercredi 30 août 2006 à 14:15:13 | Re : PID et HANDLE

CleFac

Merci pour ces solutions. Je n'avais que la solution avec EnumWindows.
Mais je voulais savoir s'il n'y avait pas une API pour sa.
vendredi 1 septembre 2006 à 15:53:37 | Re : PID et HANDLE

wxccxw

Membre Club
j'avais compris que tu n'avais pas le PID


dimanche 13 avril 2008 à 12:18:48 | Re : PID et HANDLE

khadidjamina

comment savoir le nom de la fenetre qui a le focus en c#
thanks


Cette discussion est classée dans : handle, pid


Répondre à ce message

Sujets en rapport avec ce message

connaitre le pid à partir du handle d'un processus [ par cosmobob ] comment récuperer le pid d'un processus lancé avec shellexecute ? (avec createprocess j'ai fait c'est plus simple)j'ai utilisé shellexecutex, et avec recuperer la memoire virtuelle [ par ciddu42 ] bonjour, j'ai recuperer un petit programme en visual basic permettant de recuperer la memoire virtuelle, je l'ai traduit en C, mais j'ai un petit prob transmission de donnees via port serie [ par seignseifer ] Bonjour tout le monde, j'ai fait un petit programme en  C++ sous Borland C++6.0, car je veux envoyer via le port serie, des information a un analyseur C++ communication avec port COM [ par seignseifer ] Bonjour tout le monde, aidez moi s'il vous plait et si vous avez le temps, je vais craquer. JE pense que c'est assez basique, mais je suis debutant, d ouvrir plusieur fichierx textes [ par seignseifer ] Bonjour, alors je voudrais ouvrir plusieurs fichier textes pour mon programme. J'ai un peu avance mais je bloque sur quelquechose. Je fais une boucle Trouver le pid d'un processus depuis son nom (C++) [ par tekila_bandita ] Bonjour !Donc voila, cela fait un moment que je cherche mais je n'y arrive pas...Quelqu'un aurait-il une fonction pour trouver le pid d'un processus à Erreur 1400 : Handle de fenêtre non valide [ par bastien1307 ] SalutJ'ai un probleme quand je veux fermer mon programme j'ai l'erreur 1400 : Handle de fenêtre non valide, qui apparet.Quelqu'un a deja eu cette erre Recupérér Handle de d'un processus [ par kiki67100 ] Bonjour je voudrais recuperer le handle d'un processus active ex :explorer.exejai deja un code similaire mais il trouve que le PID a partir du process signal PID de l'emeteur [ par thetoto52 ] BonjourJe travail sous linux j'utilise la fonction signal(numsignal, fonction) pour executer des action spécial pour les signaux 15, 16, 17.Je voudrai Recuperer le handle d'une fenetre [ par orak ] slt,mon but est d'acceder a un programme directx en cours, pour modifier la scene. J'ai donc besoin du handle de cette fenetre, mais je ne sais pas le


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales