我要去Kinect的手勢來代替我的鼠標,但我不能找到一種方法來設置mouseposition爲WPF應用程序。
在此先感謝
湯姆
我要去Kinect的手勢來代替我的鼠標,但我不能找到一種方法來設置mouseposition爲WPF應用程序。
在此先感謝
湯姆
您可以使用System.Windows.Forms
這個發現Cursor.Position
財產。
由於上演示MSDN documentation for Cursor.Position
:
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);
}
如果您正在尋找這樣做Windows窗體之外,你可以做一個平臺上USER32的SetCursorPos調用。
使用.NET BCL是不可能的。但是,如果你真的想要它,你可以在User32.dll
中使用本地SetCursorPos
。
[DllImport("User32.dll")]
private static extern bool SetCursorPos(int x, int y);
正如其他人很可能會指出,你可以使用System.Windows.Forms
開發WPF應用程序時使用偏愛實現DllImport
相同的,但是。
如果你打算使用你的應用程序Kinect傳感器我會親自編寫自定義WPF控件不是試圖以覆蓋系統鼠標:
在今年早些時候我參加的X360 Kinect會議上,差不多有半天時間專門用於管理用戶體驗,因爲它與簡單的點擊式交互不同。
如果您有興趣,我可以上傳/發送Kinect會議的幻燈片。他們是一個很好的閱讀。
你有一個好主意,但通常WPF應用程序應儘可能遠離System.Windows.Forms。 – Xcalibur37 2011-12-15 01:38:56