Пример #1
0
        private RawInput ProcessRawInput(RawInput input, int outSize)
        {
            if (outSize != -1)
            {
                if (input.Header.Type == RawInputType.Keyboard)
                {
                    if (Initializing)
                    {
                        var currentControl = currentForm.ActiveControl;
                        controlByKeyboard[input.Header.Device] = currentControl;

                        var initializationMessage = String.Format("{0} <- Keyboard[{1}]", currentControl.Name, input.Header.Device);
                        MessageBox.Show(initializationMessage);
                    }
                    else
                    {
                        var msg = String.Format("[{0}] {1}", input.Header.Device, input.Data.Keyboard.VirtualKey.ToString());

                        if (controlByKeyboard.ContainsKey(input.Header.Device))
                        {
                            Win32MinimalWrap.SendMessage(controlByKeyboard[input.Header.Device].Handle,
                                                         (uint)WM.KEYDOWN,
                                                         (IntPtr)input.Data.Keyboard.VirtualKey,
                                                         IntPtr.Zero);
                        }
                        else
                        {
                            MessageBox.Show(msg);
                        }
                    }
                }
            }
            return(input);
        }