在将其标记为本文的副本之前,请知道我要求的比该问题的答案提供的更清晰和具体。
具体来说,我想知道如何在 C# 中构建WM_TOUCH消息并将其发送出去。
它上面的文档(上面链接)讲述了它的组成以及如何收集它发送的信息,但它没有说明如何实际构建 WM_TOUCH 消息,而且我对 C# 的了解还不够多,无法使用我的东西已经能够找到了。
我知道它应该看起来像这样:
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int wMSg, IntPtr wParam, IntPtr lParam);
/* code to make wParam and lParam */
SendMessage(HWND_BROADCAST, WM_TOUCH, _wParam, _lParam);
wParam 将是一个 int,它告诉在 lParam 中找到了多少多点触控点。根据 msdn 页面,lParam 本身“包含一个触摸输入句柄,可用于调用GetTouchInputInfo以检索有关与此消息关联的触摸点的详细信息” 。GetTouchInputInfo 函数返回 TOUCINPUT结构。
我的问题是如何在 C# 中构建 TOUCHINPUT 结构(因为文档是 C++ 中的),以及如何通过SendMessage()函数传递该信息,以便我可以将 kinect 视为任何多点触控设备中的通用多点触控设备。触摸应用。