Ver Mensaje Individual
  #1  
Antiguo 29-09-2012
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Reputación: 20
Enan0 Va por buen camino
Buscar Aplicacion en Ejecucion y traerla al frente

Hola Amigos.

Les comento mi problema.

desde mi aplicacion (al hacer Click en un boton que deberia ejecutar una aplicacion cualquier, podria ser el notepad). primero Busco si esta se esta ejecutando. (obtengo el process ID etc.). hasta este punto todos in problemas.

AQUI EL PROBLEMA

Estoy necesitando que si la misma se encuentra en ejecucion, sea traida al frente,. .

alguien sabria como hacer este ultimo punto?

dejo el codigo para buscar el proceso en ejecucion



Código Delphi [-]
// S= Nombre del proceso a buscar
Function FindProcess(s:String):integeR;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
  ModuleEntry: TagModuleEntry32;
  Old_ID:integer;
  foto:cardinal;
begin
  Result:=-1;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
  old_ID:=-1;
  while (Integer(ContinueLoop) <> 0) and (Result=-1) and (old_id<>FProcessEntry32.th32ProcessID) do
  begin
    Old_ID:=FProcessEntry32.th32ProcessID;
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(s)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(s))) then  begin
      ModuleEntry.dwSize := SizeOf(TModuleEntry32);
      foto := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, old_ID);
      module32first(foto,ModuleEntry);
      Result:=FProcessEntry32.th32ProcessID;
    end;
    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;
Responder Con Cita