public void OnInput(int position, InputAndOutputControlEnum.KeyModel keyModel)
        {
            //模拟键盘输入
            KeyboardModel model = FileUtils.KeyboardModels.Find(delegate(KeyboardModel p) { return(p.Position == position); });

            if (model == null)
            {
                return;
            }

            if (FileUtils.NowInputModel == FileUtils.InputModel.SendKeys)
            {
                if (keyModel == InputAndOutputControlEnum.KeyModel.KeyDown)
                {
                    System.Windows.Forms.SendKeys.SendWait(FileUtils.chars[model.KeyPosition]);
                }
            }
            else if (FileUtils.NowInputModel == FileUtils.InputModel.CDD)
            {
                if (dd == null)
                {
                    LoadDllFile(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\DD94687.64.dll");
                }

                int ddcode = FileUtils.ddkey[model.KeyPosition];
                if (keyModel == InputAndOutputControlEnum.KeyModel.KeyDown)
                {
                    dd.key(ddcode, 1);
                }
                else if (keyModel == InputAndOutputControlEnum.KeyModel.KeyUp)
                {
                    dd.key(ddcode, 2);
                }
            }
        }
Пример #2
0
        public static List <KeyboardModel> GetData()
        {
            List <KeyboardModel> keyboardModels = new List <KeyboardModel>();

            if (!System.IO.File.Exists(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\keyboard.xml"))
            {
                NewFile();
            }
            XDocument _doc  = XDocument.Load(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\keyboard.xml");
            XElement  _root = _doc.Element("Root");

            foreach (XElement keyElement in _root.Elements("Key"))
            {
                KeyboardModel keyboardModel = new KeyboardModel();
                String        strPosition   = keyElement.Attribute("position").Value;
                if (strPosition.Equals(String.Empty))
                {
                    keyboardModel.Position = -1;
                }
                else
                {
                    if (int.TryParse(strPosition, out int result))
                    {
                        keyboardModel.Position = result;
                    }
                    else
                    {
                        keyboardModel.Position = -1;
                    }
                }
                String strKeyPosition = keyElement.Attribute("keyPosition").Value;
                if (strKeyPosition.Equals(String.Empty))
                {
                    keyboardModel.KeyPosition = -1;
                }
                else
                {
                    if (int.TryParse(strKeyPosition, out int result))
                    {
                        keyboardModel.KeyPosition = result;
                    }
                    else
                    {
                        keyboardModel.KeyPosition = -1;
                    }
                }
                if (keyboardModel.Position != -1)
                {
                    keyboardModels.Add(keyboardModel);
                }
            }
            return(keyboardModels);
        }