Esempio n. 1
0
        private void WinEventProc(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
        {
            if (State != CaptureState.Ready || Mode != CaptureMode.Normal || hwnd.Equals(IntPtr.Zero) ||
                Application.OpenForms.Count != 0 && hwnd.Equals(Application.OpenForms[0].Handle))
            {
                return;
            }
            var  systemWindow = new SystemWindow(hwnd);
            var  userApp      = ApplicationManager.Instance.GetApplicationFromWindow(systemWindow, true);
            bool flag         = userApp != null &&
                                (userApp.Any(app => app is UserApplication && ((UserApplication)app).InterceptTouchInput));

            _inputTargetWindow.InterceptTouchInput(flag);
        }
Esempio n. 2
0
        protected TouchCapture()
        {
            _inputTargetWindow = new PointerInputTargetWindow();
            var inputProvider = new InputProvider();

            inputProvider.TouchInputProcessor.PointsIntercepted += _touchEventTranslator.TranslateTouchEvent;
            _touchEventTranslator.TouchDown += (PointEventTranslator_TouchDown);
            _touchEventTranslator.TouchUp   += (TouchEventTranslator_TouchUp);
            _touchEventTranslator.TouchMove += (TouchEventTranslator_TouchMove);

            if (AppConfig.UiAccess)
            {
                _winEventDele  = WinEventProc;
                _hWinEventHook = SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, _winEventDele, 0, 0, WINEVENT_OUTOFCONTEXT);
            }

            ModeChanged += (o, e) => { if (e.Mode == CaptureMode.UserDisabled)
                                       {
                                           _inputTargetWindow.InterceptTouchInput(false);
                                       }
            };

            _timeoutTimer.Tick += GestureRecognizedCallback;
        }
Esempio n. 3
0
        protected TouchCapture()
        {
            _inputTargetWindow = new PointerInputTargetWindow();
            var inputProvider = new InputProvider();

            inputProvider.TouchInputProcessor.PointsIntercepted += _touchEventTranslator.TranslateTouchEvent;
            _touchEventTranslator.TouchDown += (PointEventTranslator_TouchDown);
            _touchEventTranslator.TouchUp += (TouchEventTranslator_TouchUp);
            _touchEventTranslator.TouchMove += (TouchEventTranslator_TouchMove);

            if (AppConfig.UiAccess)
            {
                _winEventDele = WinEventProc;
                _hWinEventHook = SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, _winEventDele, 0, 0, WINEVENT_OUTOFCONTEXT);
            }

            ModeChanged += (o, e) => { if (e.Mode == CaptureMode.UserDisabled) _inputTargetWindow.InterceptTouchInput(false); };

            _timeoutTimer.Tick += GestureRecognizedCallback;
        }