Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Obtener programas en ejecución - el nombre del ejecutable - Delphi
Lenguaje de programación Borland Delphi


Este truco obtiene una lista de los programas en ejecución (sólo el nombre del ejecutable). Para ello, añadiremos un formulario con el nombre "formMenuPrincipal, un botón y un TMemo con el nombre "mProgramasEjecucion". En el USES del formulario pondremos: TLHelp32. En el evento click del botón pondremos el siguiente código:

procedure TformMenuPrincipal.Button1Click(Sender: TObject);

function SacaExe(MangoW:HWND):string;
 {Obtiene el EXE de una tarea}
 var
   Datos    :TProcessEntry32;
   hID       : DWord;
   Snap    : Integer;
 begin
   GetWindowThreadProcessId(MangoW,@hID);
   Snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
   try
     Datos.dwSize:=SizeOf(Datos);
     if(Process32First(Snap,Datos))then
     begin
       repeat
         if Datos.th32ProcessID=hID then
         begin
           Result:=StrPas(Datos.szExeFile);
           Break;
         end;
       until not(Process32Next(Snap,Datos));
     end;
   finally
     Windows.CloseHandle(Snap);
   end;
 end;

function ObtieneVentanas(Mango: HWND; Nada: Pointer): Boolean; stdcall;
var
   sTemp : string;
begin
  Result := True;
  {Mango es el handle de la tarea encontrada}
  sTemp:=SacaExe(Mango);
  //if IndexOf(sTemp) = - 1 then
  formMenuPrincipal.mProgramasEjecucion.Lines.Add(sTemp);
end;

begin
   EnumWindows (@ObtieneVentanas, 0);
end;




Truco obtenido de Trucomanía por Radikal

Publicado el: 2003-10-14

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A