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

C++Builder Discussion :

[process] Afficher contenu gestionnaire des tâches


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 19
    Points : 19
    Points
    19
    Par défaut [process] Afficher contenu gestionnaire des tâches
    Bonjour,

    Je voudrais afficher dans une ListBox le contenu du gestionnaire
    des tâches de windows.

    je me suis inspiré de l'exemple ( procview ) dans C++Builder6.
    mais je n'arrive pas à trouver la fonction qui permet d'extraire
    le nom sous forme d'Exe, jai le le PID, le title de fenêtre.

    mon but est de surveiller les applications qui sont lancé sur mon
    poste.

    voici ce que j'utilise en code pour afficher les processus en cours.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    bool __stdcall EnumProc(HWND hWnd,/*LPARAM*/long/*lp*/)
    {
       unsigned long* pPid;   //LPDWORD
       unsigned long result;      //DWORD
       void *hg;                  //HGLOBAL
       unsigned long id;
     
       if(hWnd==NULL)
          return false;
     
       hg = GlobalAlloc(GMEM_SHARE,sizeof(unsigned long));
       pPid = (unsigned long *)GlobalLock(hg);
     
       result = GetWindowThreadProcessId(hWnd,pPid);
     
       if(result){
          char title[110];
          char className[95];
          char totalStr[256];
     
          GetClassName(hWnd,className,95); // <- extrait la class de l'application
          GetWindowText(hWnd,title,110); // <- extrait le titre de l'application
     
          id=*pPid;
          ultoa(id,totalStr,10);
          strcat(totalStr,"\t");
     
          if(title)
          {
             strcat(totalStr,title);
             strcat(totalStr,"\t");
          }
          strcat(totalStr,className);
          FormMaitre->ListBox1->Items->Add((AnsiString)totalStr);
     
       }
       else{
          GlobalUnlock(hg);
          GlobalFree(hg);
          return false;
       }
       GlobalUnlock(hg);
       GlobalFree(hg);
       return true;
    }
    merci de votre aide
    Keny

  2. #2
    pjb
    pjb est déconnecté
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    ça doit etre certainement "getwindowmodulefilename" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UINT GetWindowModuleFileName(          
        HWND hwnd,
        LPTSTR lpszFileName,
        UINT cchFileNameMax
    );
    vas voir le lien suivant, t'auras à gauche une liste de fonctions bien utiles, pour savoir pleins d'autre choses (comme par ex. l'emplacement d'une fenetre, etc...) :

    http://msdn.microsoft.com/library/de...lefilename.asp

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    merci de l'info je test avec GetWindowModuleFileName.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    excelent !
    ça fonctionne tres bien avec GetWindowModuleFileName

    merci a bientôt
    Keny,

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

Discussions similaires

  1. [Process] Mot de passe si kill dans gestionnaire des tâches
    Par joujoukinder dans le forum Windows Forms
    Réponses: 12
    Dernier message: 08/02/2007, 11h21
  2. Réponses: 4
    Dernier message: 24/11/2006, 13h19
  3. Gestionnaire des Tâches
    Par faressam dans le forum Windows XP
    Réponses: 8
    Dernier message: 12/09/2006, 19h32
  4. [commande DOS]: afficher la liste des tâches
    Par mathieu_r dans le forum Windows
    Réponses: 1
    Dernier message: 06/06/2006, 09h45
  5. Je n'arrive pas à lancer le gestionnaire des tâches
    Par GBAGO dans le forum Windows XP
    Réponses: 9
    Dernier message: 19/10/2005, 09h20

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