5

どちらを使用する必要がありますか? 私は Windows 8.x しか使っていないので、WM_POINTER が Windows 7 などと下位互換性がないという事実は気にしません。ジェスチャも気にしません。生のタッチについてのみ。WM_POINTER の唯一の明確な利点は、タッチ入力とマウス入力を統合することです (ただし、マウス イベントは GetMessageExtraInfo() でチェックできるため、WM_TOUCH を使用すると簡単に回避できます)。使いやすさも問題ありません。私はすでに WM_TOUCH を使用していますが、WM_POINTER に切り替える必要があるかどうか疑問に思っています。私の最大の関心事は、遅延と効率 (ゲーム関連のアプリケーション) です。WM_POINTER が余分なオーバーヘッドを持つ WM_TOUCH のラッパーであるかどうかはわかりません。コメントはありますか?

4

2 に答える 2

5

WM_TOUCH廃止されました。WM_POINTER排他的に使用します。(WM_TOUCH実際には のラッパーWM_POINTERです。)

GetMessageExtraInfoまた、壊れやすいことで有名です。GetMessageを呼び出した直後に呼び出す必要があります。そうしないと、中間関数呼び出しで COM 呼び出しが行われるか、GetMessage が呼び出される別の処理が行われる危険性があります。

于 2014-05-21T22:29:13.137 に答える
0

私はこれが非常に古い質問に答えていることを知っていますが、他の誰かがそれを役に立つと思うかもしれません.WM_TOUCHによって提供されるタッチスクリーンのX、Y座標とスクリーン座標の単純な相関が必要でしたが、スクリーン座標ではなく、タッチデジタイザのネイティブ精度が必要でした.これは、デジタイザ データ (WM_TOUCH から使用できるのはこれだけです) に非常によく似ています。タッチスクリーンの仕様をテストするために、このフル解像度のデータが必要でした。生の入力を使用して低レベルの座標を取得できますが、生の入力を登録すると WM_TOUCH メッセージが停止します。上記の他の人が述べたように、私は WM_POINTERxxxxx メッセージを使用してみましたが、未加工の HID データを登録しても WM_POINTER メッセージが無効にならないことがわかりました。問題が解決しました。

于 2022-02-25T03:34:47.030 に答える