(背景については、SendMessage()のWM_TOUCHメッセージの作成を参照してください。Kinectは、基本的に私のものと同じ質問をしますが、受け入れられた答えは実際には質問に答えません。トリッキーなビットはTOUCHINPUT
構造を埋めていません。ただし、有効なタッチ入力ハンドルを作成します。)
マルチタッチ入力デバイスの存在を厄介なハックの方法でシミュレートしたいと思います。これは、概要が次のようになります。
while (true) {
choose locations etc. for simulated touches;
PostMessage(GetForegroundWindow(), WM_TOUCH, nTouches, ...);
}
トリッキーなビットは、「...」というラベルの付いたそのスペースに入るものです。メッセージの消費者の観点から当然のことながら書かれているMSDNのドキュメントには、メッセージのWM_TOUCH
lParam
WM_TOUCH
GetTouchInputInfo
このメッセージに関連付けられたタッチポイントに関する詳細情報を取得するための呼び出しで使用できるタッチ入力ハンドル。
TOUCHINPUT
たとえば、構造の配列を簡単に作成できます。これが、GetTouchInputInfo
あなたに与えられるものです。しかし、それは「タッチ入力ハンドル」とはまったく異なるもののようです。(たとえば、タッチ入力ハンドルは、渡すのに適切な種類のものである必要があります。CloseTouchInputHandle
これは、伝えられるところでは、PostMessage
またはSendMessage
そうなるでしょう。)
ユーザーコードが渡すことができる有効なタッチ入力ハンドルを生成することは(公式または非公式に!)可能PostMessage
ですか?もしそうなら、どのように?