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); } } }
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); }