2012-06-19 20 views
5

¿Hay alguna manera de manipular la posición del mouse sin usar System.Windows.Forms.Cursor? Algo como interoperacion tal vez?Configuración de la posición del mouse sin System.Windows.Forms

Motivo de esto es que estamos utilizando un subconjunto .NET especializado que no puede incluir System.Windows.Forms.

+0

mira esto, esto es lo que hace el autor de la pregunta en esta pregunta. http://stackoverflow.com/questions/8339565/send-mouse-keyboard-events – bnvdarklord

+0

Sí, algo así como la interoperabilidad. Pinvoke SetCursorPos(). –

+0

¿Qué tipo de subconjunto es eso? ¿Incluye WPF o WinRT o algo así? – svick

Respuesta

6

OOPS mi mal, lea pregunta demasiado rápido, aquí tiene la correcta PInvoke llamada

[DllImport("user32.dll")] 
static extern bool SetCursorPos(int X, int Y); 

Fuente: http://www.pinvoke.net/default.aspx/user32.setcursorpos

+0

Estoy buscando establecer el puesto, así que necesito http://www.pinvoke.net/default.aspx/user32.setcursorpos –

+0

En realidad, lo que realmente quería es http://www.pinvoke.net/default.aspx /user32.ClipCursor, ¡simplemente no sabía que algo así existiría! La vida es buena. –

-2
private void MoveCursor() 
{ 
    // Set the Current cursor, move the cursor's Position, 
    // and set its clipping rectangle to the form. 

    this.Cursor = new Cursor(Cursor.Current.Handle); 
    Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50); 
    Cursor.Clip = new Rectangle(this.Location, this.Size); 
} 
+0

El siguiente ejemplo de código crea un cursor desde el controlador del cursor actual, cambia su posición y recorte el rectángulo. El resultado es que el cursor se moverá hacia arriba y hacia la izquierda 50 píxeles desde donde está cuando se ejecuta el código. Además, el rectángulo de recorte del cursor se cambia a los límites del formulario (de manera predeterminada es la pantalla completa del usuario). Este ejemplo requiere un Formulario y un Botón para llamar a este código cuando se hace clic. –

+3

La pregunta establece que System.Windows.Forms.Cursor no se puede usar. –

Cuestiones relacionadas