• Jueves 18 de Abril de 2024, 06:32

Autor Tema:  Listar Los Procesos Corriendo  (Leído 2332 veces)

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Listar Los Procesos Corriendo
« en: Viernes 10 de Marzo de 2006, 22:17 »
0
Con este código, pueden saber los nombres de todos los procesos que están en
ejecucion en Windows (probado en XP).

Componentes Necesarios:
  ListBox1, Button1

Código: Text
  1.  
  2. procedure TForm1.Button1Click(Sender: TObject);
  3. var
  4.   Wnd : hWnd;
  5.   buff: ARRAY [0..127] OF Char;
  6. begin
  7.   ListBox1.Clear;
  8.   Wnd := GetWindow(Handle, gw_HWndFirst);
  9.   while Wnd <> 0 do
  10.   begin
  11.     if (Wnd <> Application.Handle) and
  12.                  {IsWindowVisible(Wnd) and}  //Solo se veran los procesos con ventana
  13.                  (GetWindow(Wnd, gw_Owner) = 0) and
  14.                  (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) then
  15.                  begin
  16.       GetWindowText(Wnd, buff, sizeof(buff));
  17.       ListBox1.Items.Add(StrPas(buff));
  18.     end;
  19.   Wnd := GetWindow(Wnd, gw_hWndNext);
  20.   end;
  21.   ListBox1.ItemIndex := 0;
  22.   ListBox1.Sorted := True;
  23. end;
  24.  
  25.