Dim ListaProcesos As Object
Dim ObjetoWMI As Object
Dim ProcesoACerrar As Object
Private Function MatarProceso(StrNombreProceso As String, Optional DecirSINO As Boolean = True) As Boolean
MatarProceso = False
Set ObjetoWMI = GetObject("winmgmts:")
If IsNull(ObjetoWMI) = False Then
'instanciamos la variable
Set ListaProcesos = ObjetoWMI.InstancesOf("win32_process")
For Each ProcesoACerrar In ListaProcesos
If UCase(ProcesoACerrar.Name) = UCase(StrNombreProceso) Then
If DecirSINO Then
If MsgBox("¿Matar el proceso " & _
ProcesoACerrar.Name & vbNewLine & "...¿Está seguro?", vbYesNo + vbCritical) = vbYes Then
ProcesoACerrar.Terminate (0)
MatarProceso = True
End If
Else
'Matamos el proceso con el método Terminate
ProcesoACerrar.Terminate (0)
MatarProceso = True
End If
End If
Next
End If
Set ListaProcesos = Nothing
Set ObjetoWMI = Nothing
End Function
Private Sub Listar()
Set ObjetoWMI = GetObject("winmgmts:")
If IsNull(ObjetoWMI) = False Then
Set ListaProcesos = ObjetoWMI.InstancesOf("win32_process")
'Recorremos toda las coleccion en lista de procesos y la añadimos al list
For Each ProcesoACerrar In ListaProcesos
List1.AddItem LCase$(ProcesoACerrar.Name)
Next
End If
'Eliminamos las variables de objeto
Set ListaProcesos = Nothing
Set ObjetoWMI = Nothing
End Sub
Private Sub Command1_Click()
'Llamamos a MatarProceso pasandole el nombre
MatarProceso LCase$(List1), True
'Borramos el list
List1.Clear
'Volvemos a listar los procesos
Listar
End Sub
Private Sub Command2_Click()
'Borramos la lista y volvemos a listar los procesos
List1.Clear
Listar
End Sub
Private Sub Form_Load()
Listar
End Sub
este code obiamente no ice nada yo
no entiendo nada como se podrias simplicar esa funcion, como lo iso sin api¿
ayuda xfaa
Agregame al msn y te doy algo mas simple con API\'s que seguro entenderas o te explico ese, usa objetos, creo que es Scripts.
Sancho.Mazorka :P
y cual es tu msn, no lo veo en tu perfil
?
gracias x tu ayuda
Resuelve las cosas dentro del foro, asi todos aprendemos, sino no tiene sentido.No ves que use ninguna API porque esta usando Objects.
Usa WMI (Windows Management Instrumentation).
El WMI hace todo el trabajo, tu codigo solo le dice que.
------
Si queres una funcion con APIs y sin Objects:
Buscar proceso y matarlohttp://foro.elhacker.net/index.php/topic,142851.0.html