Как определить устройство в SetWindowsHookEx при касании? - PullRequest
0 голосов
/ 17 января 2019

У меня есть два сенсорных устройства в одном компьютере. Мне нужно идентифицировать сенсорное устройство в SetWindowsHookEx, когда Touch.

Уже пробовал перехват (http://www.oblita.com/interception.html),, но он не может поймать прикосновение.

    static IntPtr SetHook(LowLevelMouseProc proc)
    {
        ....
        var setHookResult = UnsafeNativeMethods.SetWindowsHookEx(WH_MOUSE_LL, proc, moduleHandle, 0);
        ....
    }

    delegate IntPtr LowLevelMouseProc(int nCode, IntPtr wParam, IntPtr lParam);

    static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
    {
        if (nCode >= 0)
        {
            var info = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MSLLHOOKSTRUCT));
            var extraInfo = (uint)info.dwExtraInfo.ToInt32();
            if ((extraInfo & MOUSEEVENTF_FROMTOUCH) == MOUSEEVENTF_FROMTOUCH)
            {
                ...
                I need identify touch device.
                ....
            }
        }
    }

Моя цель состоит в том, чтобы первое сенсорное устройство действовало как касание, а второе сенсорное устройство действовало как движение мыши. Я уже касаюсь перемещения мыши (используя SetWindowsHookEx), но я не знаю, как определить устройство в SetWindowsHookEx. пожалуйста, дайте мне знать.

...