Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 13-07-2010
Avatar de bosster_018
bosster_018 bosster_018 is offline
Miembro
 
Registrado: nov 2009
Ubicación: Bolivia
Posts: 127
Poder: 18
bosster_018 Va por buen camino
Esto lo tengo hace tiempo

Esto lo encontré hace tiempo en el ClubDelphi, donde se mostraba la forma de saber si algún proceso se está ejecutando.

Cita:
Primero agrega un edit y luego un boton.
En el botón escribes esto:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject); 
var 
  Abrir_Procesos : Integer; 
  Leer_Procesos : TProcessEntry32; 
  Seguir_Leyendo: BOOL; 
  Preguntar : string; 
begin 
  // Abre y lee la lista de procesos en éste momento 
  Abrir_Procesos := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
  Leer_Procesos.dwSize := SizeOf(Leer_Procesos); 
 
  // Acceder al primer proceso 
  Seguir_Leyendo := Process32First(Abrir_Procesos, Leer_Procesos); 
 
  // Condicion para recorer los procesos activos hasta que sea igual a 0 
    while (Integer(Seguir_Leyendo) <> 0) do 
    begin 
      // Añadirlo a la lista 
      preguntar:= ExtractFileName(Leer_Procesos.szExeFile); 
      // Empezar a leer los procesos 
      Seguir_Leyendo := Process32Next(Abrir_Procesos, Leer_Procesos); 
      // Preguntar si encontró el proceso 
        if Preguntar = Edit1.Text then 
        begin 
          ShowMessage('Encontrado'); 
          // igualamos a 0 para que deje de buscar 
          integer(Seguir_Leyendo):= 0; 
        end 
        else 
        begin 
          //ya no hay procesos que leer (0) y no se encontró el proceso buscado 
          if (integer(Seguir_Leyendo) = 0) and (Preguntar <> Edit1.Text) then 
            ShowMessage('No encontrado'); 
        end; 
    end; 
  // cerrar la lectura de procesos 
  CloseHandle(Abrir_Procesos); 
end;


Donde dice "Edit1.text" puedes cambiarle por el nombre del proceso que quieres saber si se ejecuta en ese momento, por ejemplo "notepad.exe" o cambiar la condición para saber si se está ejecutando uno u otro proceso: en este caso el notepad o el M$ Word


Código Delphi [-]
if Preguntar = 'notepad.exe' or Preguntar = 'winword.exe' then 
        begin 
          ShowMessage('Encontrado'); 
          // igualamos a 0 para que deje de buscar 
          integer(Seguir_Leyendo):= 0; 
        end 
        else 
        begin 
          //ya no hay procesos que leer (0) y no se encontró el proceso  buscado 
          if (integer(Seguir_Leyendo) = 0) and (Preguntar <>  Edit1.Text) then 
            ShowMessage('No encontrado'); 
        end;


Y así sucesivamente...
Y si quieres que sea automatizado... Puedes poner el código en un Timer

Saludos!
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Registrar aplicación para recibir mensaje de reloj Lord Delfos API de Windows 8 04-02-2008 04:54:14
¿En cuantos lugares se escribe la direccion de un programa para ejecutarse? aeff Varios 10 15-10-2007 11:38:13
App emita Sonido al recibir mensaje netsend Gelmin Varios 1 19-07-2004 14:50:06
Programa que no pueda ejecutarse más de una vez Sr_Sombrero Varios 3 25-05-2004 17:21:11


La franja horaria es GMT +2. Ahora son las 18:10:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi