{Resuelto} [vbs] Cerrar proceso sin abrirlo

Iniciado por xassiz_, 16 Septiembre 2009, 17:14 PM

0 Miembros y 3 Visitantes están viendo este tema.

xassiz_

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.



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

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
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_

En el code que encontré en tu tutorial, pone que sirve para cerrar el proceso que acabas de abrir.. >.<"



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

PIENSA DETENIDAMENTE!

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

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_

A ver, volví a revisar varias veces el tutorial y solo encuentro esto:


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.



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

#5
RUN! RUN! RUN! no he dicho nada de EXEC!

Que hace esto?

Código (vb) [Seleccionar]
set objshell = createobject("wscript.shell")
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
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_

#6
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?



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

Vale cualquier cosa que funcionaria normalmente desde ms-dos  :P

El True del final es opcional

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_




YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

La diferencia es que el True hace parar el script, y el False no

Ej:
Código (vb) [Seleccionar]
Set objshell = createobject("wscript.shell")
objshell.run "notepad.exe", 1,False
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
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein