Windows 7 マルチタッチ イベントをWPFで使う方法
Windows API Code PackではマルチタッチAPIが公開されていませんが、P/Invokeを使ってマルチタッチ イベントをWPFで使うベタな方法を、Andrwew Eichacherが彼のブログで公開しています。
- User32.dllをインポートして、SetPropメソッドを宣言します。
- ロード時にイベントハンドラー(とその中のdelegate)を追加して、WindowInteropHelper をコンストラクトして、そのオブジェクトのHandleと"MicrosoftTabletPenServiceProperty"でSetPrepを呼び出します。
- StylusDown, StylusMove, StylusUpイベントハンドラーとそれぞれのコールバックを追加します。
- すると、それぞれのコールバックの中でStylusEventArgsからStylusDevice.Idを取得することができます。これがタッチIDです。複数のタッチがあるときは、複数回コールバックが呼び出されることになります。
お試しください。