[Duda | Solucionado] Capturar evento global y simular click

Iniciado por Shout, 11 Julio 2013, 21:21 PM

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

Shout

Buenas!!

Lo que estoy intentando es capturar el evento del click del botón medio del ratón (ese de la rueda) y, al hacerlo, simular unos eventos del teclado globales.

Por lo tanto, sería algo así:
- Click del botón medio
- Esperar 200ms
- Simular "keydown" de la tecla "G"
- Simular "keypress" de la tecla "1"
- Simular "keyup" de la tecla "G"

Hasta ahora lo he intentado con la API de Windows... pero no me sale.

¿Alguna sugerencia?
I'll bring you death and pestilence, I'll bring you down on my own

El Benjo

Si estás capturando el evento desde el formulario sería:

Código (vbnet) [Seleccionar]

Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
        If e.Button = Windows.Forms.MouseButtons.Middle Then
            'Tu código
        End If
    End Sub
www.es.neftis-ai.com

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


Shout

Ninguna de las 2 respuestas me ha servido, pero lo he solucionado con http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook combinado con http://inputsimulator.codeplex.com/

Con los hooks del teclado es con lo que capturo el evento y con el InputSimulator lo simulo.

He de decir que es/era necesario que estén a nivel global, ya que los necesito en un juego (sería una combinación de teclas que se activa al pulsar una tecla).
Los hooks han hecho muy bien su trabajo
I'll bring you death and pestilence, I'll bring you down on my own