MOUSEEVENTF

Iniciado por kargarof, 4 Julio 2008, 12:44 PM

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

kargarof

Tengo una duda existencial.

Cuando defino lo sigueinte:
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
private const int MOUSEEVENTF_MOVE = 0x0001;


Veis que pongo 0x0... y lo siguiente. Esto me han dicho que es así y funciona pero quiero saber porque algunos ponen 0x000000002 y otros 0x02. Me gustaría saber exactamente la función que tienen esos números y porque distan tantos uno de otros.

Gracias.

kargarof

Relacionado con el tema expongo otro problema con los eventos del mouse aqui mismo para no tener que abrir un nuevo hilo.

Ya he conseguido que seleccione una zona del picturebox automaticamente sin tocar nada. El problema me viene cuando hace más de una selección en la imagen.

if (var == 0)
{
          Cursor.Position = new Point(x, y);
          mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
          mouse_event(MOUSEEVENTF_MOVE, 170, 7, 0, 0);
          mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
}
else if (var == 1)
{
          Cursor.Position = new Point(x, y);
          mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
          mouse_event(MOUSEEVENTF_MOVE, 40, 7, 0, 0);
          mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
}


Esto son dos de los varios que realizo, la cuestión está en que en el segundo, tercero, etc... Las zonas que le mando que seleccione son más grandes y cojen información que no necesito. Si alguien tiene alguna idea de por qué puede ser o necesita que le explique algo más o más info, que me lo pida. Gracias.

zheo

Cita de: kargarof en  4 Julio 2008, 12:44 PM
Tengo una duda existencial.

Cuando defino lo sigueinte:
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
private const int MOUSEEVENTF_MOVE = 0x0001;


Veis que pongo 0x0... y lo siguiente. Esto me han dicho que es así y funciona pero quiero saber porque algunos ponen 0x000000002 y otros 0x02. Me gustaría saber exactamente la función que tienen esos números y porque distan tantos uno de otros.

Gracias.

¿ Es lo mismo 5 que 0000000005 que 000005 ?
Esa es la diferencia entre poner 0x02 y 0x00000002 pero en hexadecimal (el 0x es el que indica que los dígitos que hay detras corresponden a un número en hexadecimal)
Sólo hay 10 tipos de personas: las que saben binario y las que no.

¿Quieres programar un videojuego? Si quieres unirte pulsa aqui