C#
Código
[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 =).