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); }
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; }
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; }