1. Cree un nuevo proyecto con un formulario.
2. Añada un botón y una caja de texto con las siguientes
propiedades:
Command1
Name: btnCerrar
Caption: &Matar Proceso
Text1
Name: txtIdProceso
Text: ""
3. Copie o pegue el siguiente código en el formulario:
Private Declare Function OpenProcess Lib "kernel32" (ByVal _
dwDesiredAcces
s As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodePro
cess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function TerminateProce
ss Lib "kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject _
As Long) As Long
Const PROCESS_TERMIN
ATE = &H1
Const PROCESS_QUERY_
INFORMATION = &H400
Const STILL_ACTIVE = &H103
Private Sub btnCerrar_Clic
k()
Dim hProceso As Long
Dim lEstado As Long
' Obtenemos el handle al proceso
hProceso = OpenProcess(PROCESS_TERMIN
ATE Or _
PROCESS_QUERY_
INFORMATION, 0, CLng(txtIdProceso))
If hProceso <> 0 Then
' Comprobamos estado del proceso
GetExitCodePro
cess hProceso, lEstado
If lEstado = STILL_ACTIVE Then
' Cerramos el proceso
If TerminateProce
ss(hProceso, 9) <> 0 Then
MsgBox "Proceso cerrado"
Else
MsgBox "No se pudo matar el proceso"
End If
End If
' Cerramos el handle asociado al proceso
CloseHandle hProceso
Else
MsgBox "No se pudo tener acceso al proceso"
End If
End Sub
4. Ejecute la aplicación. Para probar el código introduzca en la
caja de texto el identificador del proceso que quiere cerrar y
pulse el botón "Matar Proceso". Si está en Windows NT, puede
obtener los identificadore
s de proceso pulsando CTRL+ALT+SUPR y
seleccionando el "Administrador de tareas".
Para ver este enlace Registrate o Inicia SesionFuente