Dispatcher(Thread t)
 {
     base_thread = t;
     for (int i = 1; i <= (int)DispatcherPriority.Send; i++)
     {
         priority_queues [i] = new PokableQueue();
     }
     wait  = new EventWaitHandle(false, EventResetMode.AutoReset);
     hooks = new DispatcherHooks(this);
 }
Example #2
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (this.dispatcher == null)
            {
                this.dispatcher = this.Dispatcher;
                this.dispatcherHooks = this.dispatcher.Hooks;
            }

            WindowInteropHelper wndHelper = new WindowInteropHelper(this);
            IntPtr wpfHwnd = wndHelper.Handle;

            _keyboardDriver = new RawKeyboard(wpfHwnd);
            _keyboardDriver.EnumerateDevices();
            _devNotifyHandle = RegisterForDeviceNotifications(wpfHwnd);

            System.Windows.Interop.ComponentDispatcher.ThreadFilterMessage +=
                    new System.Windows.Interop.ThreadMessageEventHandler(ComponentDispatcher_ThreadFilterMessage);
            System.Windows.Interop.ComponentDispatcher.ThreadPreprocessMessage +=
                    new System.Windows.Interop.ThreadMessageEventHandler(ComponentDispatcher_ThreadPreprocessMessage);

            this.KeyPressed += new RawKeyboard.DeviceEventHandler(OnKeyPressed);
        }
Example #3
0
		Dispatcher (Thread t)
		{
			base_thread = t;
			for (int i = 1; i <= (int) DispatcherPriority.Send; i++)
				priority_queues [i] = new PokableQueue ();
			wait = new EventWaitHandle (false, EventResetMode.AutoReset);
			hooks = new DispatcherHooks (this);
		}