Before you mark this as a duplicate of this post, know that I am asking for more clarity and specificity than the answer to that question provides.
Specifically, I want to know how to, in C#, build a WM_TOUCH message and send it out.
The documentation on it (linked above) tells what it's composed of and how to gather the information it sends, but it says nothing about how to actually build a WM_TOUCH message, and I don't know enough about C# to work with what I've been able to find.
I know that it should look something like this:
[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);
The wParam is going to be an int that tells how many multi-touch points found within the lParam. The lParam itself "Contains a touch input handle that can be used in a call to GetTouchInputInfo to retrieve detailed information about the touch points associated with this message" according to the msdn page. The GetTouchInputInfo function returns TOUCHINPUT structs.
My question is how to build the TOUCHINPUT structs in C# (since the documentation is in C++) and also how to pass that information through the SendMessage() function so that I can treat the kinect as a general multi-touch device in any multi-touch application.