Ver Mensaje Individual
  #11 (permalink)  
Antiguo 15/10/2015, 02:49
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 8 años, 9 meses
Puntos: 3
Respuesta: Simular clic izquierdo C++

A mí en su momento me dio problemas con el siguiente código:
Código C++:
Ver original
  1. POINT pos_cursor;
  2. pos_cursor.x=650;
  3. pos_cursor.y=424;
  4.  
  5. if(SetCursorPos(pos_cursor.x,pos_cursor.y)){
  6.    SendMessage(NULL,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(pos_cursor.x,pos_cursor.y));
  7.    SendMessage(NULL,WM_LBUTTONUP,0,MAKELPARAM(pos_cursor.x,pos_cursor.y));
  8. }

El problema que me dio fue que SendMessage enviaba el mensaje pero intentaba pulsar un botón y esto no pasaba así que me busqué otra solución y fue esta:
Código C++:
Ver original
  1. POINT pos_cursor;
  2. pos_cursor.x=650;
  3. pos_cursor.y=424;
  4.  
  5. if(SetCursorPos(pos_cursor.x,pos_cursor.y)){
  6.    mouse_event(MOUSEEVENTF_LEFTDOWN,pos_cursor.x,pos_cursor.y,0,0);
  7.    mouse_event(MOUSEEVENTF_LEFTUP,pos_cursor.x,pos_cursor.y,0,0);
  8. }

Seguramente mouse_event internamente llame a SendMessage y si viesemos en un depurador con qué valores lo llama sabríamos en que fallaba.

Última edición por aguml; 15/10/2015 a las 06:13