Cerrar procesos del sistema operativo
Mayo 4, 2008
En algunas circunstancias de una aplicacion (en especial del tipo cliente - servidor), esta inicia procesos del sistema operativo; los, cuales por alguna razon particular, pueden complicar la ejecucion de nuestro programa, por lo que es conveniente cerrarlos. Para ello, y para no escribir un metodo especial por cada aplicacion que creemos, deberiamos usar un metodo (en un modulo o clase utilitaria) como el que presento a continuacion.
‘Cierra los procesos indicados que se tengan en memoria en la PC
Private Sub CerrarProceso(ByVal NombreProceso As String)
‘Cerramos el proceso indicado
Dim aobjProcesses() As Process = Process.GetProcessesByName(NombreProceso)
Dim objProcess As Process
Try
For i As Integer = 0 To aobjProcesses.GetUpperBound(0)
objProcess = aobjProcesses(i)
‘Si encontramos un proceso abierto, vemos si se salió
If Not objProcess.HasExited Then
‘No se salió. Debemos matar al proceso que está huérfano.
objProcess.Kill()
End If
Next
Catch ex As Exception
‘Emplear una forma de informar el error (el patron observador seria bueno para ello)
Me.RegistrarLog(String.Format(Me.Recurso(”ErrorCierreProceso”), NombreProceso, ex.ToString), EventLogEntryType.Error)
End Try
End Sub
Escribe un comentario