Как зафиксировать событие касания глобально и узнать XY положение касания? - PullRequest
0 голосов
/ 28 января 2019

Нужно определить положение XY касания на экране в Windows 10, вне моего приложения wpf.Я прочитал в некоторых сообщениях можно использовать RegisterPointerInputTarget

Я пытаюсь перенаправить все прикосновения к моему приложению.Предполагается, что использование RegisterPointerInputTarget должно быть таким же легким, как и код, который я показываю, но не работает, даже не подозревая, что я делаю неправильно.

Также я нашел такой работающий код;https://github.com/yingDev/WGestures/blob/master/WGestures.Core/Impl/Windows/TouchHook.cs

Есть ли какой-нибудь способ глобальных событий касания перехватить и узнать позицию XY, когда происходит касание?

Я должен использовать RegisterPointerInputTarget?

Я ценю любую информацию и / или кодпример.

using System;
using System.Windows;
using System.Runtime.InteropServices;




 namespace WpfApp17
 {

 public partial class MainWindow : Window
 {

    public enum PointerInputType
    {
        POINTER = 0x00000001,
        TOUCH = 0x00000002,
        PEN = 0x00000003,
        MOUSE = 0x00000004,
    }
    [DllImport("User32")]
    static extern bool RegisterPointerInputTarget(IntPtr hwnd, PointerInputType pointerType);


    public MainWindow()
    {
        InitializeComponent();
        IntPtr hWnd = new System.Windows.Interop.WindowInteropHelper(Application.Current.MainWindow).Handle;
        var ok = RegisterPointerInputTarget(hWnd, PointerInputType.TOUCH);

    if (!ok)

       {
           MessageBox.Show("Error!" );
          return; 
      }
      else
      {
         MessageBox.Show("TouchHook Redirected.");
      }


  }


  }

}

...