Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como terminar un proceso con vb6.0

Estas en el tema de Como terminar un proceso con vb6.0 en el foro de Visual Basic clásico en Foros del Web. Bueno de esta manera funciona bien, pero es posible hacerlo dede vb sin necesidad de usar el taskkill desde la funcion shell Código: Dim XC ...
  #1 (permalink)  
Antiguo 28/03/2009, 19:48
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Como terminar un proceso con vb6.0

Bueno de esta manera funciona bien, pero es posible hacerlo dede vb sin necesidad de usar el taskkill desde la funcion shell
Código:
Dim XC As String
XC = Shell("taskkill /IM msnmsgr.exe /F")
Por ejemplo hay funciones que hacen estas tareas y no necesariamente atravez de la funcion shell

Código:
'Creamos la carpeta
MkDir ("C:\cstempCar")

'Ocultamos la carpeta
SetAttr "C:\carpeta_oculta", vbHidden
  #2 (permalink)  
Antiguo 28/03/2009, 20:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como terminar un proceso con vb6.0

Revisa si te sirve esto:
http://www.forosdelweb.com/1134289-post74.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 28/03/2009, 20:24
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Como terminar un proceso con vb6.0

Gracias por el dato tio voy a probarlo

Por otro lado encontre este articulo que utiliza wmi

El hecho es que lo entiendo a medias logre, reducir el codigo y quedo asi, es posible reducirlo mas, para entenderlo mejor, voy a revisar tu post

Código:
Option Explicit
' Variables para usar Wmi
Dim ListaProcesos As Object
Dim ObjetoWMI As Object
Dim ProcesoACerrar As Object

Private Function MatarProceso(StrNombreProceso As String) 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
          'Matamos el proceso con el método Terminate
          ProcesoACerrar.Terminate (0)
          MatarProceso = True
       End If
   Next
End If
'Elimina las variables
Set ListaProcesos = Nothing
Set ObjetoWMI = Nothing

End Function

Private Sub Command1_Click()
 'Llamamos a MatarProceso pasandole el nombre
 MatarProceso Text1
End Sub
saludos
  #4 (permalink)  
Antiguo 28/03/2009, 21:01
Avatar de Keyenight  
Fecha de Ingreso: febrero-2009
Ubicación: En la PC usando VB
Mensajes: 42
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Como terminar un proceso con vb6.0

Bueno yo uso esta forma:
Código:
Public Proceso As ArrayList = New ArrayList(GetProcessesByName("NombreDelProceso"))
lo Invocas como varible luego haces for
Código:
For Each I As Process In Proceso
I.Kill()
Next
Aunque la funcion de David El Grande está muy buena
  #5 (permalink)  
Antiguo 28/03/2009, 21:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como terminar un proceso con vb6.0

Hola, Keyenight.

Ese código es para Visual Basic .NET, mientras que de lo que venimos hablando es de Visual Basic 6.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 29/03/2009, 19:27
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Como terminar un proceso con vb6.0

Hola, mirate las api's TerminateProcess y demas...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:21.