Duda con punsado de teclas.

Iniciado por Castiblanco, 16 Junio 2010, 01:33 AM

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

Castiblanco

Hola a todos, tengo el siguiente código que básicamente lo que hace es digitar repetidamente una tecla que yo quiera.

Código (vb) [Seleccionar]
Option Explicit
Dim pulsacion
Do
Set pulsacion = CreateObject("WScript.Shell")
WScript.Sleep 1000
pulsacion.SendKeys "y"
Loop


La penúltima linea es donde pongo cual tecla va a oprimir, en este caso la letra "y", pero si por ejemplo yo quisiera la tecla "esc" o por ejemplo "f1" que coloco?

Gracias por leer y si pueden contestar ;)

Psyke1

Prueba con vbKeyF1 y con vbKeyEscape (investiga sobre las constantes vbKey), y tienes que definir la variable As Object, que si no lo tienes As Variant... :-\
Código (vb) [Seleccionar]
Option Explicit
Dim pulsacion As Object
Do
  Set pulsacion = CreateObject("WScript.Shell")
  WScript.Sleep 1000
  pulsacion.SendKeys vbKeyF1 ' o vbKeyEscape
Loop

No se si quieres hacer eso, pero con el Do ese que has puesto no saldria nunca y se bloquearia el programa...

Aqui tienes otra forma de hacerlo : http://foro.elhacker.net/programacion_visual_basic/problema_con_sendmessage_ayuda-t296261.0.html

Salu2!

BlackZeroX



lamento decir que su problema loveo en lo de fase de Scripting!¡ es decir es VBS/VBA

por cierto quedaria mejor asi!¡.

Código (vb) [Seleccionar]

Option Explicit
    Dim pulsacion
    Set pulsacion = CreateObject("WScript.Shell")
    Do
        WScript.Sleep 1000
        pulsacion.SendKeys "y"
    Loop


obvio no saldra nunca de eso Do:Loop pero no se va a trabar hay tiene un Sleep!¡ que no deja hacer un bucle Loco con el Procesador al 100%

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

Psyke1

#3
Oops!
Cierto, vaya fallo mas tonto... :-[
No hace falta definir el objeto cada vez que se haces el Do, deberia de poner esto despues?¿
Código (vb) [Seleccionar]

Set pulsacion = Nothing


Salu2! :)

BlackZeroX

Es vba, vbs no importa cuando se el wscript lleva el control de los objetos!¡.

Por ello un script puede llevar cuantos errores y lo unico que hara sera su trabajo!¡, en cambio en un lenguaje que se compile afuerzas debes estar liberando la memoria... creo que en vb .NET ya no es tan nesesario ( Flojos!¡ ).

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.