FoxPro/Visual FoxPro - Cerrar un proceso en ejecucion

 
Vista:

Cerrar un proceso en ejecucion

Publicado por Joel Perez (2 intervenciones) el 03/08/2006 18:00:00
Hola amigos, tengo una aplicacion que debe de cerrar ciertos progrmas para hcer copias de seguridad, y mi pregunta es como un programa de FOXPRO 8 puede cerrar otro programa de FROXPRO???

Esdecir que aplicacion 1 cierre a aplicacion 2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Cerrar un proceso en ejecucion

Publicado por Ernesto Hernandez (4623 intervenciones) el 04/08/2006 01:53:08
y que pasaria si tus usuarios tienen abierta alguna tabla y estan eScrIbiendo en ella ??

Creo (a mi forma de pensar que no seria una buena practica )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cerrar un proceso en ejecucion

Publicado por Joel Perez (2 intervenciones) el 04/08/2006 16:38:50
YA se tiene una rutina de guardado y todas las tablas estan con buffer minimizando el problema de tablas corruptas, y tambien el todo se cierra al accesar a esa ventana, solo quiero cerrar la aplicacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cerrar un proceso en ejecucion

Publicado por Plinio (7841 intervenciones) el 04/08/2006 18:49:06
Yo use este codigo que esta en Universalthread. Pero no recuerdo en que programa

FUNCTION KillAnotherProcess
LPARAMETERS tnProcessHandle, tnExitCode

* This is a no-brainer; given the handle of a running process, kill it. Pass the PHANDLE (as returned from CreateProcess()
* in the PROCESS_INFORMATION structure. See LaunchAppAndWait() to see how to extract the handle.
*
* The ExitCode parameter is an integer error level returned by the dead Process. If none is set, we'll pass 0
*
IF TYPE('tnProcessHandle') # 'N'
RETURN .F.
ENDIF
IF TYPE('tnExitCode') # 'N'
tnExitCode = 0
ENDIF
DECLARE TerminateProcess IN WIN32API AS KillProcess ;
INTEGER hProcess, ;
INTEGER fuExitCode

RETURN KillProcess(tnProcessHandle, tnExitCode) = 1

&&&&To get the exit code from a process, try:

FUNCTION ProcessExitCodeWas
LPARAMETER tnProcessToCheck
IF TYPE('tnProcessToCheck') # 'N'
* Process Handles are numbers
RETURN NULL
ELSE
* Maybe we have a process handle, so lets check the ExitCode
DECLARE SHORT GetExitCodeProcess IN WIN32API AS GetExitCodeProc ;
INTEGER hProcess, ;
@INTEGER lpdwExitCode
LOCAL nRetunCode
nReturnCode = 0
IF GetExitCodeProc(tnProcessToCheck, @nReturnCode)
* Got an exit code, even though it might be STILL_ACTIVE
RETURN nReturnCode
ELSE
* Invalid process?
RETURN NULL
ENDIF
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar