Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: .:Xx4NG3LxX:. en 20 Enero 2020, 23:02 pm



Título: [AYUDA] [VBS] [BATCH] ¿Sendkeys en unión con batch?
Publicado por: .:Xx4NG3LxX:. en 20 Enero 2020, 23:02 pm
Hola otra vez!

No es por abrir hilos sin sentido (lo digo xq acabo de abrir uno nuevo hace un rato) pero en serio, necesito orientación... Y ayuda.

¿Se puede usar la función SendKeys en conjunto con un Batch?

Algo como...

Código
  1. @echo off
  2. echo Se enviara una pulsación de teclado...
  3. pause>nul
  4. call sendkeys.vbs
  5.  

Pero más elaborado claro.

Gracias de antemano...


Título: Re: [AYUDA] [VBS] [BATCH] ¿Sendkeys en unión con batch?
Publicado por: Eleкtro en 21 Enero 2020, 06:01 am
¿Se puede usar la función SendKeys en conjunto con un Batch?

No por si solo, pero siempre puedes ejecutar un script VBS (donde usarás la función SendKeys) desde tu batch-script.

Si la intención es enviar la pulsación a la ventana de la CMD, aquí tienes un ejemplo (con dos segundos de retraso que puedes disminuir a cero):

Código
  1. @ECHO OFF & (CHCP 1252)1>NUL
  2.  
  3. Echo:Se enviará una pulsación del teclado para elegir la opción [1]...
  4.  
  5. (
  6.  Echo:Set WshShell = WScript.CreateObject^("WScript.Shell"^)
  7.  Echo:WScript.Sleep^(2000^)
  8.  Echo:WshShell.SendKeys^("1"^)
  9.  Echo:WScript.Quit^(0^)
  10. )>"%TEMP%\sendkeys.vbs"
  11. START /B "" "cscript.exe" /NoLogo "%TEMP%\sendkeys.vbs"
  12.  
  13. Choice /C "123" /M "Opciones: "
  14.  
  15. Pause&Exit /B 0

De todas formas no se para que quieres hacer algo así, pero ten en cuenta que la función sendkeys envía una pulsación a la ventana activa (la ventana que tenga el foco de entrada activo), y esta no tiene por que siempre ser necesariamente la ventana de la CMD donde corres tu script, así que dependiendo de lo que quieras hacer, primero tienes que asegurarte de activar la ventana a la que quieres enviar la pulsación, o de lo contrario utilizar un lenguaje diferente y más sofisticado que VBS para poder llamar a la función SendMessage/PostMessage de la API de Windows, la cual permite enviar una pulsación de teclado a una ventana en segundo plano/cualquier ventana.

Saludos


Título: Re: [AYUDA] [VBS] [BATCH] ¿Sendkeys en unión con batch?
Publicado por: .:Xx4NG3LxX:. en 21 Enero 2020, 22:07 pm
Muchísimas gracias!


Título: Re: [AYUDA] [VBS] [BATCH] ¿Sendkeys en unión con batch?
Publicado por: Mudereded401 en 23 Enero 2020, 16:26 pm
Oye, Si lo que quieres es mandar una serie de pulsaciones de teclas (La verdad no sé para que quieres eso), No te recomendaria usar un Script, ya que esos se ejecutan demasiado rapido (aunque le pongas tiempo entre teclas), No sería muy util. De todas formas te puedo decir que En mi pc Tengo instalado un programa llamado "Hot keyboard pro". Si es para mover el mouse, mandar pulsaciones de teclado, mover ventanas, minimizarlas, Meter textos desde el porta papeles o algun .txt puesto, Te lo recomiendo.

PD: Trae otras funciones muy útiles pero no las Digo, ya que preguntaste solo por Escribir con el teclado.