Pregunta sobre una aplicación de c#

Iniciado por andrecid, 11 Agosto 2014, 15:59 PM

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

Eleкtro

#20
Quieres hacer click en unas coordenadas específicas, pero sin que el puntero del ratón de tu pantalla se mueva a esas coordenadas, ¿es así?

Entonces eso es un click virtual y requiere la labor que comenté.


Cita de: andrecid en 11 Agosto 2014, 22:49 PMpor ejemplo en Vb pongo los mismo codigos y el raton no se mueve pero da click.

mouse_event es una de las miles de funciónes de la API de Windows, actua de la misma manera en cualquier lenguaje.

saludos








andrecid

Ok muchas gracias =mente me sirvieron tus enseñanzas gracias.

Eleкtro

#22
De nada pero es que al decir que quieres hacer un click a "X" sin mover el mouse te estás metiendo en una zona donde requiere bastantes conocimientos, experiencia, y mucha lectura... más si se tratase de un juego online por una web, que no tienes acceso ni a un ensamblado al que enviarle el evento del mouse, puf, no se ni como se podría hacer en ese caso como ya digo nunca lo intenté pero seguramente sería más viable modificando packets,
sea como sea debes intentar hacer cosas más simples por el momento.

Saludos








andrecid

Muchas gracias , espero que nunca te vallas del foro.

andrecid

#24
Tengo una duda más si le asigno los valores buenos a Move el ratón se me va a una esquina y no hace caso a las coordenadas.

¿Que puede ser?

Coordenadas a la que se va (0,0)

Eleкtro

Cita de: andrecid en 12 Agosto 2014, 19:57 PM¿Que puede ser?

Debes combinar los flags 'ABSOLUTE' y 'MOVE' (solo esos), y modificar las coordenadas como en el ejemplo anterior:

Citar
Código (csharp) [Seleccionar]
int PosX = ((x * 65535) / Screen.PrimaryScreen.Bounds.Width);
int PosY = ((y * 65535) / Screen.PrimaryScreen.Bounds.Height);

saludos








Eleкtro

Para ahorrarte la mayor parte del trabajo te vendría bien esta librería:

· Windows Input Simulator (C# SendInput Wrapper - Simulate Keyboard and Mouse)

Nota: Debes descargar el Source y compilarlo, porque el proyecto compilado que hay para descargar está bastante incompleto y sin los métodos para el Mouse.

Nota 2: De todas formas SendInputs tampoco te servirá para mover el mouse de forma virtual, como ya expliqué, pero para todo lo demás si.

Saludos.








andrecid

Gracias el error me di cuenta cuendo me enseñaste:

int PosX = ((x * 65535) / Screen.PrimaryScreen.Bounds.Width);
int PosY = ((y * 65535) / Screen.PrimaryScreen.Bounds.Height);



Yo en el otro codigo sustituia :

Posx y posy por otro pero ya lo puse bien.

Gracias

andrecid

Hola! estuve leyendo cosas sobre C# y bueno veras ya entiendo bastante sobre estos codigos , los estuve estudiando y leyendo ,  pero ahora me surge otra duda.

¿Cómo puedo aumentar la velocidad?

Me han dicho una forma pero seguro que ay más:

mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, 0, 0, 0, 0);


Me han dicho que aumentado ese código se aumenta la velocidad pero quiero encontrar más formas

Gracias

Eleкtro

#29
¿Que quieres decir por "aumentar la velocidad"?.

El mensaje lo procesa Windows, tarda el tiempo que debe tardar en procesarlo para ir del punto A al punto B.

Si quieres mejorar el rendimiento general de lo que estás haciendo entonces deja de utilizar la obsoleta función mouse_event como creo recordar que ya te comenté en un principio... no estoy seguro, y en su lugar usa la función SendInput.

Saludos