Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kargarof

#1
Muchisimas gracias, me ha sido de gran ayuda.  :D
#2
Hola, muy buenas a todos, estoy creando un programa y quiero estar seguro de que a quien se lo estoy haciendo no lo pasa a otras personas, es un programita de gestión de clientes para un bar. Hace tiempo me pasaron una pagina (en japonés) donde se podía poner una clave de validación a un programa de c# pero no la consigo encontrar.

La idea es que cada vez que se instala por primera vez, pida un código (el codigo es lo de menos).

¿Como podría hacerlo? Gracias, de antemano.
#3
El 3er Capitulo o DVD es de FAQ, preguntas frecuentes y parece ser q no
#4
.NET (C#, VB.NET, ASP) / MOUSEEVENTF
7 Julio 2008, 18:05 PM
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.
#5
A mi me parece una idea estupenda, nunca viene mal aprender algo nuevo, refrescar lo que se ha olvidado o aportar sabiduría a los que deambulamos :p.
#6
Buenisimo, esto viene de lujo. Tremendamente agradecido.  ;D
#7
.NET (C#, VB.NET, ASP) / MOUSEEVENTF
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.
#8
Bueno creo que di con la tecla:

[DllImport("user32")]
public static extern int SetCursorPos(int x, int y);
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

public void ClickPoint(int x, int y)
{
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);
}


Solo me queda perfilarlo y ponerlo bonito. Gracias por la info Manulomm.
#9
Bueno rebuscando y rebuscando, he encontrado algo que se supone realiza lo que yo busco pero como todo en esta vida, no sale del todo bien.

Tengo lo siguiente:

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);


y una función:

public void Raton()
{
      mouse_event(MOUSEEVENTF_LEFTDOWN, 425, 330, 0, 0);
      mouse_event(MOUSEEVENTF_LEFTUP, 975, 345, 0, 0);
}


Y el problema es:

Una llamada a la función PInvoke 'DocumentProcessing1!DocumentProcessing.Form1::mouse_event' impidió la correspondencia de la pila. Es posible que la razón sea que la firma PInvoke administrada no coincida con la firma de destino no administrada. Compruebe que la convención y los parámetros de llamada de la firma PInvoke coinciden con la firma no administrada de destino.

Le he dado vueltas y vueltas y nada. Si alguein supiera porque...

He conseguido que el problema desaparezca cambiando los "long" por "int", pero ahora no me funciona el mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0);
#10
Lo primero si lo tenia claro, el mayor problema viene cuando quiero desplazarlo pero simulando que no suelto el botón de un punto a otro, no se si llego a explicarme.  Con las API's me peleo bastante y no termino de pillarle el truco, si pudieras ser más claro  :P. Gracias por la ayuda.