2012-06-19 14 views
5

Gibt es eine Möglichkeit, die Mausposition zu ändern, ohne System.Windows.Forms.Cursor zu verwenden? Etwas wie Interop vielleicht?Festlegen der Mausposition ohne System.Windows.Forms

Grund dafür ist, dass wir eine spezialisierte .NET-Untergruppe verwenden, die System.Windows.Forms nicht enthalten kann.

+0

Check this out, das ist, was die Fragesteller in dieser Frage tun. http://stackoverflow.com/questions/8339565/send-mouse-keyboard-events – bnvdarklord

+0

Ja, so etwas wie Interop. Pinvoke SetCursorPos(). –

+0

Welche Art von Teilmenge ist das? Beinhaltet es WPF oder WinRT oder etwas ähnliches? – svick

Antwort

6

oops mein schlechten, las Frage zu schnell, here der richtige PInvoke Anruf

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

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

+0

Ich bin auf der Suche nach der Position, also brauche ich http://www.pinvoke.net/default.aspx/user32.setcursorpos –

+0

Eigentlich was ich wirklich wollte, ist http://www.pinvoke.net/default.aspx /user32.ClipCursor, ich wusste einfach nicht, dass so etwas existieren würde! Das leben ist gut. –

-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

Das folgende Codebeispiel erstellt einen Cursor aus dem Handle des aktuellen Cursors, ändert seine Position und sein Begrenzungsrechteck. Das Ergebnis ist, dass der Cursor sich 50 Pixel nach links und nach oben bewegt, wenn der Code ausgeführt wird. Außerdem wird das Begrenzungsrechteck des Cursors in die Grenzen des Formulars geändert (standardmäßig ist dies der gesamte Bildschirm des Benutzers). Dieses Beispiel erfordert ein Formular und eine Schaltfläche, um diesen Code aufzurufen, wenn darauf geklickt wird. –

+3

Die Frage besagt, dass der System.Windows.Forms.Cursor nicht verwendet werden kann. –

Verwandte Themen