Unity获取系统鼠标
2016-07-25 16:11
531 查看
[DllImport("user32.dll")] public static extern bool SetCursorPos(int X, int Y); [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(uint dwFlags, uint dx, uint dy, int cButtons, uint dwExtraInfo); 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 = 0x01; private const int MOUSEEVENTF_WHEEL = 0x800; public void MouseMove(Vector deltaPosition, float speed) { mouse_event(MOUSEEVENTF_MOVE, (uint)(deltaPosition.x * speed), (uint)(deltaPosition.y * speed), 0, 0); } public void LeftButtonDown() { mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); } public void LeftButtonUp() { mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); } Vector currentMousePosition = Vector.Zero; Vector prevFrameMousePosition = Vector.Zero; private int currentHandingHandID = -1; private bool mouseLeftButtonPressed = false;
相关文章推荐
- 如何重装TCP/IP协议
- Kinect结合Unity3D引擎开发体感游戏(一)
- Windows 8 官方高清壁纸欣赏与下载
- 微软无线镭射简报鲨8000激光笔记本鼠标 - (2)
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- Shell 脚本编程陷阱
- 使用Windows原生命令一键清空剪贴板
- windows用windeployqt发布qt quick application程序
- 利用开源软件打造自己的全功能远程工具
- Windows 8虚拟机不能全屏的解决方法
- 虚拟化基础架构Windows 2008篇之1-虚拟化基础服务概述
- 虚拟化基础架构Windows 2008篇之5-安装Windows部署服务