es posible crear este script?

Publicado en 'Programación' por Dudin, 17 Jun 2015.





  1. Dudin

    Dudin Miembro maestro

    Registro:
    10 Ago 2014
    Mensajes:
    264
    Likes:
    114




    Hola a todos ando haciendo algo con un asistente de voz y bue no se mucho o nada de programacion y viendo lo que necesito es hacer un script con las pulsaciones del teclado.

    encontrando en internet sea hace asi.

    Set WshShell = WScript.CreateObject("WScript.Shell")
    Wshshell.SendKeys "{a}"

    en ese script lo que pasaria es que apretaria la letra a del teclado,bueno funciona y todo.

    pero lo que quisiera hacer es que el script aplaste varias veces la letra a pero que aplaste lentamente,osea cada X tiempo.

    averiguando vi que se puede hacer que el script aplaste varias veces la letra de esta forma.

    aqui aplastaria la letra A 5 veces:

    Set WshShell = WScript.CreateObject("WScript.Shell")
    Wshshell.SendKeys "{a 5}"


    lo malo que al ejecutarlo aplasta muy rapido,yo desearia que los aplasta cada X segundos,seria posible eso o me estoy columpiando?.


    PD:creo que esto es algo basico en programacion,perdonen si estoy preguntando algo sin sentido. :D
     


  2. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    794
    Likes:
    252
    Mete las teclas que quieras enviar en un loop, con sleep (demora) en medio :
    20 a's con 200 ms de demora entre envíos.
    Código:
    For i = 1 To 20
    Wshshell.SendKeys "{a}"
    WScript.Sleep 200
    Next
    
     
    Última edición: 18 Jun 2015
    A Dudin le gustó este mensaje.
  3. Dudin

    Dudin Miembro maestro

    Registro:
    10 Ago 2014
    Mensajes:
    264
    Likes:
    114
    gracias por la respuesta,pero no funciona :c.

    sale error: se requiere un objeto "Wshshell"
     
  4. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    794
    Likes:
    252
    Crealo con el " set".
     
  5. Dudin

    Dudin Miembro maestro

    Registro:
    10 Ago 2014
    Mensajes:
    264
    Likes:
    114
    lo puse asi.

    Set WshShell = WScript.CreateObject("WScript.Shell")
    For i = 1 To 20
    Wshshell.SendKeys "{a}"
    WScript.Sleep 100
    Next

    no sale error,pero no aplasta la letra A :mmm:.
     
  6. Smiki007

    Smiki007 Miembro de oro

    Registro:
    13 Set 2010
    Mensajes:
    5,714
    Likes:
    2,893
    Hazlo asi:
    For i = 1 To 20
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Wshshell.SendKeys "{a}"
    WScript.Sleep 500
    Next
    presionara la tecla A 20 veces en intervalo de 0.5 secundos.
     
    Última edición: 18 Jun 2015
    A Dudin le gustó este mensaje.
  7. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    794
    Likes:
    252
    Estas seguro que lo estas ejecutando como wscript ??
    El codigo lo grabo como test.vbs y por linea de comando lo ejecuto así
    Código:
    wscript test.vbs
    
    y funciona normal.
     
  8. Dudin

    Dudin Miembro maestro

    Registro:
    10 Ago 2014
    Mensajes:
    264
    Likes:
    114
    perdona el error fue mio al probar con la letra A sin darme cuenta que no tengo configurado ninguna accion con la Letra A al programa donde probaba.

    al darle la orden de aplastar la letra A no hacia nada y pensaba que era el script.

    y al darme cuenta tambien funcionaba de lujo.

    gracias funciona de lujo tambien.