Ayuda con click usando SendMessage (presionar y levantar)

Iniciado por GonzaFz, 13 Junio 2012, 20:10 PM

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

GonzaFz

Bueno tengo todo el codigo y entiendo bastante bien como se utiliza, mi codigo es:

C#
Código (csharp) [Seleccionar]

[DllImport("user32.dll")]
       static extern bool SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, Int32 lParam);

public static int MakeLParam(int LoWord, int HiWord)
       {
           return ((HiWord << 16) | (LoWord & 0xffff));
       }

       public static int MakeWParam(int LoWord, int HiWord)
       {
           return ((HiWord << 16) | (LoWord & 0xffff));
       }
       #endregion

// DECLARO LOS CLICKS
int MS_IZQUIERDOABAJO = 0x0201,
MS_IZQUIERDOARRIBA = 0x0202;

private void BuscarClic(int x, int y)
{
// ESTABLECE LAS COORDENADAS
Int32 lPara = MakeLParam((int)x, (int)y);
             
               IntPtr wParam = IntPtr.Zero;
               
// PRESIONO EL CLIC Y LO LEVANTO
               SendMessage(handle, MS_IZQUIERDOABAJO , wParam, lPara);
               SendMessage(handle, MS_IZQUIERDOARRIBA, wParam, lPara);

}


El problema es que funciona de una manera rara. Cuando lo ejecuto presiona el boton izquierdo y luego lo levanta pero es como que igualmente sigue presionado , es decir el MS_IZQUIERDOABAJO sigue activo..
Mas claro: Presiona el boton y lo levanta mientras sigue presionado.. ¿Se entiende?

// SE ME OCURRIO UNA MANERA MAS FACIL DE DECIRLO

Esos eventos no trabajan juntos, cada uno es independiente por lo que podriamos decir que cuando se lo llama sucede lo siguiente:
MS_IZQUIERDOABAJO = se activa
MS_IZQUIERDOARRIBA = se activa

Es decir se realizan las dos acciones pero nunca se las desactiva, es como que se levanta el mouse pero se sigue presionando
Es tipo que el mouse virtual se queda pegado a ese lugar y no se suelta mas..

espero que me puedan ayudar. Gracias =).

GonzaFz

Conseguí solucionarlo, solo debía simular un movimiento del mouse a ese lugar.