EN VB!

Iniciado por Gonzah91, 21 Febrero 2013, 08:45 AM

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

Gonzah91

Lo que quiero hacer es algo parecido a un sedkeys, osea quiero un mini programa con 2 botones uno que diga comenzar y otro que diga parar y que cuando le demos comenzar empiezo a ser la repeticon de las siguientes teclas: "Enter"+"Spacio"+"Enter" , como es que puedo hacer esto yo hice un sedkeys pero cuando le doy comenzar el mouse se me empieza a mover re lento y no puedo hacer nada por lo que me dijieron es por que es un sedkeys por eso.. queria ver la forma que no me pase eso y que aparte el programa ese sea invisible !

Danyfirex

colocale un sleep para que no se cuelgue.

Gonzah91

Cita de: Danyfirex en 21 Febrero 2013, 15:52 PM
colocale un sleep para que no se cuelgue.
Como hago ?

MCKSys Argentina

Entre cada Sendkeys, usa un DoEvents.

Para hacer apps sin GUI, usa modulos.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


El Benjo

Lo que debes hacer para que el computador y por ende el mouse no anden lentos, es como te dicen arriba hacer un retardo entre pulsaciones mediante "sleep()". El código iría así:

Código (vbnet) [Seleccionar]

'Sub que simula las teclas pulsadas.
Private Sub SimularTeclasPulsadas()
    Dim Condicion As Boolean
    While Condicion = True
        'Aquí hago el sendkeys().
        Thread.Sleep(50)
    End While
End Sub


Lo que hace el código de arriba es generar ese retardo. Ahora, para hacerlo sin la GUI basta con hacer que ese código se ejecute en un hilo independiente. Pasos:

1: Al inicio de la aplicación creas un hilo del método en el cual se simulan las teclas pulsadas. (Debes hacerlo con un bucle que no termine o que termine bajo la condición que tú quieras, pero que sea continuo porque de otra forma no te funcionará)

2: Después de iniciar el hilo terminas la aplicación.

Al terminar la aplicación el hilo seguirá corriendo.

Código:

Código (vbnet) [Seleccionar]

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim hilo As New Thread(AddressOf SimularTeclasPulsadas)
    hilo.Start()
    Application.Exit()
End Sub


Sólo recuerda importar el System.threading porque para ambas cosas se necesita.
www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

79137913

#5
HOLA!!!

@Benjo:
Esto es VB Classic no net  :¬¬

Pd: como dijo MCK, si tenes una rutina asi:

Código (vb) [Seleccionar]

Private Sub Timer1_Timer()
    SendKeys "{ENTER}"
    SendKeys " "
End Sub


Agregale doevents asi:

Código (vb) [Seleccionar]
Private Sub Timer1_Timer()
    DoEvents
    SendKeys "{ENTER}"
    DoEvents
    SendKeys " "
End Sub



GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*