コード例 #1
0
        /// <param name="eventReceiver">A instance of <see cref="IKeyboardEventReceiver"/> which receives keyboard events.</param>
        public InputSource(IKeyboardEventReceiver eventReceiver)
        {
            if (eventReceiver == null)
            {
                throw new ArgumentNullException(nameof(eventReceiver));
            }

            _keyboardEventReceiver = new WeakReference <IKeyboardEventReceiver>(
                eventReceiver);

            _keyboardHook = SetupKeyboardHook(OnRawKeyboardInputProcessed);
        }
コード例 #2
0
        public InputSource(
            IKeyboardEventReceiver keyboardEventReceiver = null,
            IMouseEventReceiver mouseEventReceiver       = null)
        {
            if (keyboardEventReceiver == null && mouseEventReceiver == null)
            {
                throw new InvalidOperationException();
            }

            if (keyboardEventReceiver != null)
            {
                keyboardEventReceiverRef        = new WeakReference <IKeyboardEventReceiver>(keyboardEventReceiver);
                keyboardHook                    = new KeyboardHook();
                keyboardHook.RawInputProcessed += OnRawKeyboardInputProcessed;
            }

            if (mouseEventReceiver != null)
            {
                mouseEventReceiverRef        = new WeakReference <IMouseEventReceiver>(mouseEventReceiver);
                mouseHook                    = new MouseHook();
                mouseHook.RawInputProcessed += OnRawMouseInputProcessed;
            }
        }
コード例 #3
0
        /// <param name="keyboardEventReceiver">A instance of <see cref="IKeyboardEventReceiver"/> which receives keyboard events.</param>
        /// <param name="mouseEventReceiver">A instance of <see cref="IMouseEventReceiver"/> which receives mouse events.</param>
        public InputSource(
            IKeyboardEventReceiver keyboardEventReceiver,
            IMouseEventReceiver mouseEventReceiver)
        {
            if (keyboardEventReceiver == null)
            {
                throw new ArgumentNullException(nameof(keyboardEventReceiver));
            }

            if (mouseEventReceiver == null)
            {
                throw new ArgumentNullException(nameof(mouseEventReceiver));
            }

            _keyboardEventReceiver = new WeakReference <IKeyboardEventReceiver>(
                keyboardEventReceiver);

            _mouseEventReceiver = new WeakReference <IMouseEventReceiver>(
                mouseEventReceiver);

            _keyboardHook = SetupKeyboardHook(OnRawKeyboardInputProcessed);
            _mouseHook    = SetupMouseHook(OnRawMouseInputProcessed);
        }