我正在尝试创建一个 Windows 窗体程序,它使计算机的行为就像我按下鼠标按钮一样。我想手动控制事件(时间没有提前决定)并且需要可以按住,所以鼠标按钮释放应该是一个单独的事件。
以下信息不应更改代码,只是帮助您进一步了解我的情况:
- 目的是允许来自 Xbox 360 控制器(与 PC 兼容)的用户输入来操纵/控制它所连接的计算机。
- 到目前为止,我发现的最佳解决方案是“Windows.Forms.SendKeys”方法,但它仅适用于键盘事件。
提前致谢!:D
我正在尝试创建一个 Windows 窗体程序,它使计算机的行为就像我按下鼠标按钮一样。我想手动控制事件(时间没有提前决定)并且需要可以按住,所以鼠标按钮释放应该是一个单独的事件。
以下信息不应更改代码,只是帮助您进一步了解我的情况:
提前致谢!:D
我模拟这样的鼠标事件
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint 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;
用法示例:
public static void leftClick()
{
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}