Developpez.com - Delphi
X

Choisissez d'abord la catégorieensuite la rubrique :

Nono40.developpez.com
Le petit coin du web de Nono40
SOURCES TESTS DELPHI WIN32 AUTOMATISMES DELPHI .NET QUICK-REPORT
Retour à l'accueil
76 - LISTE DES PROCESS SOUS NT'

PRÉSENTATION : Lister les process sous Windows NT4
ZIP : Téléchargez le zip APERÇUS :

NOTES : La librairie ToolHelp n'est pas disponible sous Windows NT4, cette méthode permet de pallier à ce problème et obtenir la liste des process sous NT.
Cette procédure fonctionne aussi avec Windows 2000 et Windows XP.

CODE :
Procedure TForm1.FormActivate(Sender: TObject);
Var
  PIDArray:   Array[0..1023Of DWORD;
  cb:         DWORD;
  I,
  ProcCount:  Integer;
  hMod:       HMODULE;
  hProcess:   THandle;
  ModuleName: Array[0..300Of Char;
Begin
  // Effacement de la liste
  Liste.Clear;

  // Recupération de la liste de tous les processus sous NT4
  EnumProcesses(@PIDArray, SizeOf(PIDArray), cb);
  ProcCount := cb Div SizeOf(DWORD);
  For I := 0 To ProcCount - 1 Do
  Begin
    If PIDArray[I] = 0 Then ModuleName := '[Idle]'
    Else
    Begin
      hProcess := OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, False, PIDArray[I]);
      If (hProcess <> 0Then
      Begin
        EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb);
        FillChar(ModuleName, 3000);
        ModuleName := 'System';
        GetModuleBaseName(hProcess, hMod, ModuleName, SizeOf(ModuleName));
        CloseHandle(hProcess);
      End
      Else ModuleName := 'Erreur';
    End;


    With Liste.Items.Add Do
    Begin
      // Affichage de chaque process
      Caption:=IntToHex(PIDArray[I],8);
      SubItems.Add(ModuleName);

      // Data va conserver le ProcessID afin de pouvoir
      // en demander la fermeture par la suite
      Data:=Pointer(PIDArray[I]);
    End;
  End;
End;

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Bruno Guérangé. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Responsables bénévoles de la rubrique Delphi : Gilles Vasseur - Alcatîz -