ayuda con un batch

Iniciado por krisalid, 25 Enero 2013, 19:06 PM

0 Miembros y 1 Visitante están viendo este tema.

krisalid

hola amigos del elhacker quisiera pedirles ayuda con algo de pequeña programacion
la verdad soy nuevo en esto y he buscado intentado y no lo he conceguido me gustaria hacer un archivo bat que me de "esc" en cierto programa que yá se encuentra en ejecucion no necesito ejecutarlo desde el bat sino que, lo que pretendo el que, al correr el bat mande esc al programa que yo le indique( me refiero al que yo indique por que hay varios programas en ejecucion y solo quiero mandarle esc a uno solo)
por ejemplo he blobado con:
Código (vb) [Seleccionar]
WshShell.Sendkeys "{esc}"
lo guardo como close.bat y al ejecutarlo sale la ventana pero no hace nada
porfavor ayudenme antes de que se me caiga el cabello de no encontrar lo que busco. gracias espero sus respuestas

Stakewinner00

#1
Mira este ejemplo haber si te sirve

http://msdn.microsoft.com/en-us/library/ms172702(v=vs.80).aspx

si tienes dudas comentalo.

también puedes hacer un sleep de unos 10s y abrir la ventana en que quieres que envie el esc, hace tiempo lo use para hacerle una broma a un amigo.

krisalid

#2
GRACIAS Stakewinner00
me sorprende la rapidez con la que me contestan en este foro
mira lei el articulo que me enviaste y segun con lo que le entendi quedo asi esto
lo guarde como close.bat pero no hizo nada
Código (vbnet) [Seleccionar]
Dim ProcID As Integer
ProcID = Shell("ELPROGRAMA QUE BUSCO.EXE", AppWinStyle.NormalFocus)
AppActivate(ProcID)
My.Computer.Keyboard.SendKeys("esc", True)

lo otro que me comentabas no se puede por que hay una ventana que esta adelante de el preograma que le quiero enviar el pulso.




[MOD] Usa el botón "Insertar código"

Eleкtro

#3
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.




EDITO: Lo estás haciendo mal, olvídate de ese ejemplo, y también de Batch (y los .bat), el ejemplo es exclusívamente para VisualBasic (no VisualBasicScript).

Cita de: krisalid en 25 Enero 2013, 19:06 PM
he blobado con:
WshShell.Sendkeys "{esc}"
lo guardo como close.bat y al ejecutarlo sale la ventana pero no hace nada

Es que eso no es Batch, es VisualBasicScript

Usando Batch no puedes hacer lo que pretendes de forma nativa, así que necesitas usar cualquier otro lenguaje... como por ejemplo el mencionado VBS.

Te indico los pasos:
  • Seleccionar la ventana (Es decir, activar la ventana que deseas).

  • Enviarle la pulsación de la tecla "escape" a la ventana activa.

    Y es algo que se ha comentado cientos de veces, usa el buscador del foro si te quedan dudas porfavor.

    Código (vb) [Seleccionar]
    Dim objShell
    Set objShell = WScript.CreateObject("WScript.Shell")

    objShell.AppActivate "Bloc de notas"
    objShell.Sendkeys "{ESCAPE}"


    Saludos.








krisalid

ok muxa gracias ahora mismo lo buscare cualquier duda o solucion la publico para alguien que este igual de perdido como yo,

saludos