0

(背景については、SendMessage()のWM_TOUCHメッセージの作成を参照してください。Kinectは、基本的に私のものと同じ質問をしますが、受け入れられた答えは実際には質問に答えません。トリッキーなビットはTOUCHINPUT構造を埋めていません。ただし、有効なタッチ入力ハンドルを作成します。)

マルチタッチ入力デバイスの存在を厄介なハックの方法でシミュレートしたいと思います。これは、概要が次のようになります。

while (true) {
  choose locations etc. for simulated touches;
  PostMessage(GetForegroundWindow(), WM_TOUCH, nTouches, ...);
}

トリッキーなビットは、「...」というラベルの付いたそのスペースに入るものです。メッセージの消費者の観点から当然のことながら書かれているMSDNのドキュメントには、メッセージのWM_TOUCHlParamWM_TOUCH

GetTouchInputInfoこのメッセージに関連付けられたタッチポイントに関する詳細情報を取得するための呼び出しで使用できるタッチ入力ハンドル。

TOUCHINPUTたとえば、構造の配列を簡単に作成できます。これが、GetTouchInputInfoあなたに与えられるものです。しかし、それは「タッチ入力ハンドル」とはまったく異なるもののようです。(たとえば、タッチ入力ハンドルは、渡すのに適切な種類のものである必要があります。CloseTouchInputHandleこれは、伝えられるところでは、PostMessageまたはSendMessageそうなるでしょう。)

ユーザーコードが渡すことができる有効なタッチ入力ハンドルを生成することは(公式または非公式に!)可能PostMessageですか?もしそうなら、どのように?

4

1 に答える 1

0

Windows 8 には、デスクトップ環境でタッチを偽造するための TouchInjection API があります。

http://social.technet.microsoft.com/wiki/contents/articles/6460.simulating-touch-input-in-windows-8-using-touch-injection-api.aspx

于 2015-10-16T15:48:43.260 に答える