Ver Mensaje Individual
  #1  
Antiguo 21-01-2009
Avatar de The_Duke
The_Duke The_Duke is offline
Miembro
 
Registrado: abr 2006
Ubicación: Republica Dominicana
Posts: 48
Reputación: 0
The_Duke Va por buen camino
Question como cerrar la instancia anterior

Saludo, estoy haciendo un visor de imágenes, y e asociado los tipos de archivo para que abran con la aplicación y quiero que si ya hay una instancia de mi aplicación presente y se abra otra imagen desde una carpeta la instancia anterior se cierre y quede solo a nueva instancia. E probado este código que encontré en el foro, pero sierra todos los procesos con el mismo nombre y trate de modificarlo pero no lo conseguí. Si conocen alguna mejor forma o pueden modificar este se lo agradecería.

Código Delphi [-]

procedure MatarProceso(FileName:String);
   var
       ContinueLoop:BOOL;
       FSnapshotHandle:THandle;
       FProcessEntry32:TProcessEntry32;
   const
       PROCESS_TERMINATE=$0001;
   begin
       FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
       FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
       ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
       while integer(ContinueLoop)<>0 do
       begin
           if FProcessEntry32.szExeFile=FileName then
             TerminateProcess( OpenProcess(PROCESS_TERMINATE,BOOL(0),
                               FProcessEntry32.th32ProcessID),0);
             ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
       end;
       CloseHandle(FSnapshotHandle);
   end;
Responder Con Cita