Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: xassiz_ en 16 Septiembre 2009, 17:14 pm



Título: {Resuelto} [vbs] Cerrar proceso sin abrirlo
Publicado por: xassiz_ en 16 Septiembre 2009, 17:14 pm
Queria saber si se puede cerrar un proceso sin abrirlo anteriormente (que es lo que venia en el tuto).

Por ejemplo, cerrar el proceso cmd.exe


No se si se puede por titulo de ventana.. vi algo asi hace tiempo.


Título: Re: [vbs] Cerrar proceso sin abrirlo
Publicado por: Novlucker en 16 Septiembre 2009, 17:30 pm
No entendí XD

Quieres decir que ahora tengo corriendo el notepad.exe, y lo "mato" con mi script?

Si es así, si bien hay maneras específicas de hacerlo creo que NO estas siendo creativo, ya que haciendo uso de lo que encuentras en mi tutorial (wscript.shell) podrías hacerlo.

Por nombre de ventana no podrás, salvo que lo hagas con sendkeys enviando ALT+F4 (y no te asegura que se cierre) o bien con APIS por medio del Office (pero ten en cuenta que dependes del Office justamente)

Recuerda mi consejo ... intenta buscar y probar, así sean 10, 15 o 20 veces (creo que te estas salteando eso), pero te aseguro que aunque tengas erroes de por medio podrás aprender mucho más que si consigues funciones "armadas"  ;)

Saludos


Título: Re: [vbs] Cerrar proceso sin abrirlo
Publicado por: xassiz_ en 16 Septiembre 2009, 17:48 pm
En el code que encontré en tu tutorial, pone que sirve para cerrar el proceso que acabas de abrir.. >.<"


Título: Re: [vbs] Cerrar proceso sin abrirlo
Publicado por: Novlucker en 16 Septiembre 2009, 17:53 pm
PIENSA DETENIDAMENTE!

Entiendo que lo que dices hace referencia a la función EXEC, ¿que acaso no puedes usar RUN por ejemplo?

Saludos


Título: Re: [vbs] Cerrar proceso sin abrirlo
Publicado por: xassiz_ en 16 Septiembre 2009, 17:56 pm
A ver, volví a revisar varias veces el tutorial y solo encuentro esto:

Código:
Set objshell = createobject("wscript.shell")
Set bloc = objshell.Exec("notepad")
Wscript.sleep 5000 'Pausa de 5000 milesimas, o 5 segundos
bloc.terminate

Pero el proceso que quiero cerrar ya estaría abierto, o en todo caso comprobar si esta abierto y si lo está cerrarlo.


Título: Re: [vbs] Cerrar proceso sin abrirlo
Publicado por: Novlucker en 16 Septiembre 2009, 18:06 pm
RUN! RUN! RUN! no he dicho nada de EXEC!

Que hace esto?

Código
  1. set objshell = createobject("wscript.shell")
  2. objshell.run "cmd /c taskkill /f /im notepad.exe", vbhide
Tengo razón o no en que no te detienes a pensar y analizar? :rolleyes:

Para lo que sería el método correcto, esta vaaaarias veces en este subforo y la siguiente es una
http://foro.elhacker.net/scripting/matar_proceso_vbs-t240137.0.html

Saludos


Título: Re: [vbs] Cerrar proceso sin abrirlo
Publicado por: xassiz_ en 16 Septiembre 2009, 18:19 pm
Código:
set objshell = createobject("wscript.shell")
objshell.run "cmd /c taskkill /im cmd.exe /f || tskill cmd", vbhide

Eso serviría no? Vale cualquier cosa que pongas en la cmd :rolleyes:

Gracias xD

Es que cuando leyera lo de cmd.. en el code no me parecia que fuera eso u.u

PD: no abría que poner ,true al final?


Título: Re: {Resuelto} [vbs] Cerrar proceso sin abrirlo
Publicado por: Novlucker en 16 Septiembre 2009, 19:02 pm
Vale cualquier cosa que funcionaria normalmente desde ms-dos  :P

El True del final es opcional

Saludos


Título: Re: {Resuelto} [vbs] Cerrar proceso sin abrirlo
Publicado por: xassiz_ en 16 Septiembre 2009, 20:17 pm
Y para que serviría poner el True?


Título: Re: {Resuelto} [vbs] Cerrar proceso sin abrirlo
Publicado por: Novlucker en 16 Septiembre 2009, 20:28 pm
La diferencia es que el True hace parar el script, y el False no

Ej:
Código
  1. Set objshell = createobject("wscript.shell")
  2. objshell.run "notepad.exe", 1,False
  3. Msgbox "Terminado"

Se te abre el bloc de notas y en el acto salta el mensaje ... pero si en cambio en el mismo ejemplo cambias el True por False, entonces se abre el bloc de notas, y el script se pausa hasta bien el notepad no sea cerrado, sirve por ejemplo para asegurarte de que el comando se ejecute, ya que no sigue hasta bien termine  :P

Saludos


Título: Re: {Resuelto} [vbs] Cerrar proceso sin abrirlo
Publicado por: xassiz_ en 16 Septiembre 2009, 20:33 pm
Y si se omite? sería como True o como False?


Título: Re: {Resuelto} [vbs] Cerrar proceso sin abrirlo
Publicado por: Novlucker en 16 Septiembre 2009, 20:34 pm
Por que me lo preguntas en lugar de probarlo?  :¬¬

False

Saludos