Exemple #1
0
        /// <summary>Set up a hook to trap keyboard events at a low level</summary>
        public void Initialize()
        {
            if (_keyboardDevice == null)
            {
                _keyboardDevice = new InputDevice(InputDevice.DeviceType.Keyboard);
            }

            if (_keyboardDevice.Count > 0)
            {
                _keyboardMessagePump = new KeyboardMessagePump();
                _keyboardMessagePump.Show();
                _keyboardDevice.RegisterCallingWindow(_keyboardMessagePump.Handle);
                _keyboardDevice.KeyPressed  += new InputDevice.DeviceEventHandler(KeyPressed);
                _keyboardDevice.KeyReleased += new InputDevice.DeviceEventHandler(KeyReleased);
            }
        }
Exemple #2
0
        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_keyboardDevice == null)
                {
                    return;
                }

                _keyboardDevice.KeyPressed  -= new InputDevice.DeviceEventHandler(KeyPressed);
                _keyboardDevice.KeyReleased -= new InputDevice.DeviceEventHandler(KeyReleased);

                if (_keyboardMessagePump != null)
                {
                    _keyboardMessagePump.Dispose();
                    _keyboardMessagePump = null;
                }
            }
        }