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
[-]
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;