これをこの投稿の複製としてマークする前に、その質問への回答が提供するよりも明確で具体的なものを求めていることを知っておいてください。
具体的には、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は、lParam内で見つかったマルチタッチポイントの数を示すintになります。msdnページによると、lParam自体に「 GetTouchInputInfoの呼び出しで使用できるタッチ入力ハンドルが含まれており、このメッセージに関連付けられているタッチポイントに関する詳細情報を取得できます」。GetTouchInputInfo関数は、TOUCHINPUT構造体を返します。
私の質問は、C#でTOUCHINPUT構造体を構築する方法(ドキュメントはC ++であるため)と、その情報をSendMessage()関数を介して渡す方法です。これにより、kinectを任意のマルチタッチデバイスで一般的なマルチタッチデバイスとして扱うことができます。タッチアプリケーション。