elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 [704] 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 ... 1254
7031  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 22:56 pm
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é.


por 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
7032  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 22:44 pm
No quiero que le mouse se mueve a las coordenadas quiero que se de click pero sin que el mouse se mueva

Para realizar un click virtual entonces debes olvidarte de la función mouse_event.

Debes conocer el Handle del elemento al que quieres enviarle un evento del mouse, y usar la función SendMessage y/o PostMessage para postear los Messages del evento del mouse (WM_LBUTTONDOWN,  WM_LBUTTONUP) en la cola (Input queue) del programa: http://msdn.microsoft.com/en-us/library/windows/desktop/ms645607%28v=vs.85%29.aspx

No es que sea algo sencillo, se requiere bastante P/Invoking y un mínimo de conocimientos sobre IPC (Inter-process communication), y tampoco nunca lo he intentado.

Saludos
7033  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 22:12 pm
Haber he modifcado cosas y ahora no me da error pero aun así el mouse se mueve hacia las coordenadaas.

No entiendo lo que quieres, primero insinuas que no quieres que se muevan, luego que si, y ahora parece otra vez que no.

Porfavor se preciso son tu pregunta.

Saludos
7034  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 21:18 pm

Remplazo eso por esto:
Código:
private const int MOUSEEVENTF_LEFTDOWN = 2;
        private const int MOUSEEVENTF_MOVE = 2;
        private const int MOUSEEVENTF_ABSOLUTE = 2;
        private const int MOUSEEVENTF_LEFTUP = 4;

no?

Si pero le asignaste los valores erroneos a 'MOUSEEVENTF_MOVE' y 'MOUSEEVENTF_ABSOLUTE'.

Como ya te he explicado, aquí tienes los nombres de los flags junto a sus respectivos valores: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260%28v=vs.85%29.aspx


Error   1   Argumento 4: no se puede convertir de '<null>' a 'int'

pásale como valor '0' en lugar de 'null', o también puedes modificar/adaptar la declaración de la API.
7035  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 21:07 pm
1 a 4: Reemplaza los 'MouseEventFlags' por tus constantes como te expliqué.
5 y 6: Declara en el código las variables con nombre 'PosX' y 'PosY' antes de pretender utilizarlas.
7036  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 21:01 pm
me dice que no se existe en el contecto actual:

Copia y pega aquí el mensaje de la excepción, y comenta cual es el valor que hace saltar dicho error.
7037  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 20:55 pm
Código:
mouse_event(MouseEventFlags.ABSOLUTE | MouseEventFlags.MOVE | MouseEventFlags.LEFTDOWN | MouseEventFlags.LEFTUP, PosX, PosY, null, null);

por que cuando los pongo me sale un error de que no están en el contexto actual

Porque en lugar de Constantes yo utilicé una Enum y la llamé 'MouseEventFlags', tu tienes las Constantes definidas, utilizalas:

Código:
MOUSEEVENTF_ABSOLUTE
MOUSEEVENTF_MOVE
MOUSEEVENTF_LEFTDOWN
MOUSEEVENTF_LEFTUP

Si no tienes alguna constante definidia, ya te las mostré en la documentación con los respectivos valores que debes asignarles: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260%28v=vs.85%29.aspx

+
· enum (C# Reference)
· const (C# Reference)

Si no eres capaz de diferenciar y corregir una minucia como la que te ha ocasioando este problema entonces sin ánimo de ofender te digo que no deberías intentar desarrollar programas de "autoclicks" ni manejarte con la Windows API, debes seguir estudiando y aprender lo básico, no lo quieras poder hacer todo en 1 solo día.

Saludos!
7038  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 20:26 pm
Pero yo quiero coordenadas, no quiero que al activar se ponga a dar click el ratón, lo que quiero es que empieza a dar click en un área determinada sin necesidad de que el ratón se mueva.

Lo siento, eso no es lo que me pareció que dijiste al principio:

¿Como puedo hacer que el mouse no se me valla al sitio donde tengo las coordenadas?
La verdad esto no me gusta cuando le activo el mouse se va a las coordenadas y empieza a clickar no ay forma de que no se valla pero si que clike?

De todas formas lee la edición de mi último comentario arriba, solo debes modificar las propiedades de 'cursor.position.x' y 'cursor.position.y' por las coordenadas que quieras.

Saludos
7039  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta sobre una aplicación de c# en: 11 Agosto 2014, 20:10 pm
No amigo , aun así se me va mueve el cursor mira te paso el codigo entero.

Código:
mouse_event(MOUSEEVENTF_LEFTDOWN, 1290, 317, 0, 0);
            mouse_event(MOUSEEVENTF_LEFTUP, 1290, 317, 0, 0);

1) Imagino que esas coordenadas las asignaste simplemente por probar, pero por si no es así lo comentaré de todas formas:
    Le estás pasando unas coordenadas fijas, no las coordenadas actuales de tu mouse como te indiqué.

2) Si leyeras la documentación del método, la cual te he mostrado 3 o 4 veces ya, verías que los parámetros 'dw' y 'dy' actuan como coordenadas RELATIVAS (es decir, moverse a un offset) a menos que especifiques el flag 'MOUSEEVENTF_ABSOLUTE' en el primer parámetro para que actuen como coordenadas absolutas.

dx & dy:
Citar
The mouse's absolute position along the x-axis or its amount of motion since the last mouse event was generated, depending on the setting of MOUSEEVENTF_ABSOLUTE. Absolute data is specified as the mouse's actual x-coordinate; relative data is specified as the number of mickeys moved. A mickey is the amount that a mouse has to move for it to report that it has moved.

dwflags:
Citar
· MOUSEEVENTF_ABSOLUTE

The dx and dy parameters contain normalized absolute coordinates. If not set, those parameters contain relative data: the change in position since the last reported position. This flag can be set, or not set, regardless of what kind of mouse or mouse-like device, if any, is connected to the system. For further information about relative mouse motion, see the following Remarks section.

Así que debes combinar los flags:
Código
  1. mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, , , ,)

EDITO:
También dice:

Citar
If MOUSEEVENTF_ABSOLUTE value is specified, dx and dy contain normalized absolute coordinates between 0 and 65,535. The event procedure maps these coordinates onto the display surface. Coordinate (0,0) maps onto the upper-left corner of the display surface, (65535,65535) maps onto the lower-right corner.

Así pues, además de combinar los flags debes hacer una operación aritmética para ajustar las coordenadas:

VB.NET
Código
  1. Dim PosX As Integer = ((Cursor.Position.X * 65535I) / Screen.PrimaryScreen.Bounds.Width)
  2. Dim PosY As Integer = ((Cursor.Position.Y * 65535I) / Screen.PrimaryScreen.Bounds.Height)
  3.  
  4. mouse_event(MouseEventFlags.ABSOLUTE Or MouseEventFlags.MOVE Or MouseEventFlags.LEFTDOWN Or MouseEventFlags.LEFTUP,
  5.            PosX, PosY, Nothing, Nothing)

C#:
Código
  1. int PosX = ((Cursor.Position.X * 65535) / Screen.PrimaryScreen.Bounds.Width);
  2. int PosY = ((Cursor.Position.Y * 65535) / Screen.PrimaryScreen.Bounds.Height);
  3.  
  4. mouse_event(MouseEventFlags.ABSOLUTE | MouseEventFlags.MOVE | MouseEventFlags.LEFTDOWN | MouseEventFlags.LEFTUP, PosX, PosY, null, null);
  5.  
  6. //=======================================================
  7. //Service provided by Telerik (www.telerik.com)
  8. //Conversion powered by NRefactory.
  9. //Twitter: @telerik
  10. //Facebook: facebook.com/telerik
  11. //=======================================================
7040  Programación / .NET (C#, VB.NET, ASP) / Re: Mis malas combinaciones :( en: 11 Agosto 2014, 19:29 pm
En la parte de las combinaciones me dice que se esperaba una declaración  ???

resul no esta declarado
palabra no declarado

Luis, si te pido la información de un error no espero escuchar tu versión modificada del mensaje de error, sino el mensaje de error tal cual es, ¿sino como esperas que te ayudemos a depurarlo o encontremos información al respecto? (en este caso no hacia falta buscar nada, con tu explicación fue suficiente intuir el problema, pero la próxima vez quizás no sea tan intuitivo),
no creo que sea tan dificil darle click derecho al error y luego darle al botón de "Copiar" para pegarlo aquí de esta manera:
Código:
'resul' is not declared. It may be inaccessible due to its protection level.

Disulpa pero sabes que soy muy estricto con los detalles, proporcionar la información del error (el mensaje y el stacktrace, sin modificar) es el detalle más importante que se debería tener en cuenta cuando alguien tiene una duda.

Dicho esto, el error se debe a que no has declarado ninguna variable con el nombre 'resul' ni 'palabra', si quieres solucionar el error debes declararlas ...obviamente, jeje.
Código
  1. Dim resul As ¿? = ¿?
  2. Dim palabra As String = ""

Fuera de los Subs tienes declaradas las variables 'Result1', 'Result2' y 'Result3'.
Luego en el bloque del método 'Sumar' tienes una variable 'result' declarada, la 'vida' de esta variable se termina al finalizar el método.
Luego dentro del mismo bloque de 'Sumar' tienes una variable llamada 'Result22' y otra 'Result222'

¿Que lio es ese?, en serio, depeja todo ese lio de variables, colócalas al inicio del código (es decir, fuera de los subs), asígnales un nombre apropiado a cada variable para saber cual es su finalidad y así no dar lugar a equivocaciones, también podrías añadirle un pequeño comentario a cada una de las variables para dejarlo más claro incluso, y luego inizializa cada variable ahí mismo o cuando sea necesario si lo prefieres...

Creo que solo tú te puedes hacerte una idea de que variables deberían ir en 'resul' y 'palabra' para poder corregir esa parte del código que mostraste.

Saludos!
Páginas: 1 ... 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 [704] 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 ... 1254
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines