5

ウィンドウがタッチイベントをマウスイベントとして解釈するのを妨げているコードからのマウスプロモーションを無効にする方法はありますか?

WPF アプリケーションでタッチ イベントをキャプチャしますが、これらの操作がマウス ポインターの可視性と位置に影響を与えないようにします。

まさにそれを行っているように見えるTouchFrameEventArgs.SuspendMousePromotionUntilTouchUp メソッドがあります。残念ながら、Silverlight と Windows Phone でしか利用できません。

さらに、ダブルクリックと右クリックのプロモーションを無効にするために使用できるシステム設定がいくつかありますが、マウスのプロモーション全体を無効にするものはありません。

Windows 8 固有のソリューションまたは低レベルのソリューションも役立ちます。

4

3 に答える 3

0

そのようなオプションはないようです (少なくとも Windows 8.1 および .NET 4.5 まで)。

マウス プロモーションを無効にする唯一の方法は、システム コントロール パネル内から指入力を完全に無効にすることです (コントロール パネルを開き、[ペンとタッチ] を開き、[タッチ] タブを選択し、[入力デバイスとして指を使用する] を無効にします)。またはレジストリ経由 (HKLM\Software\Microsoft\Wisp\Touch、TouchGate = 0 = タッチを無効にする)

その後、次の (厄介な) 代替手段のいずれかを使用してタッチ入力を処理できます。

最後に、カスタム ルーティング イベントまたはタッチ インジェクションを使用して、収集したタッチ データをアプリケーションに挿入できます。

いずれにせよ、もちろん、システム上の他のアプリケーションのタッチサポートが失われるため、このソリューションは一般的にあまり役に立ちません。

于 2013-10-09T09:17:33.623 に答える