/// <summary> /// 键盘功能按键响应 /// </summary> void keyBoard_KeyFunctionEvent(string keycode) { switch (keycode) { case AppCode.TAB: //定位按钮切换Tab按键 System_API.keybd_event(Keys.Tab, 0, 0, 0); System_API.keybd_event(Keys.Tab, 0, 0x02, 0); break; case AppCode.ENTER: //定位按钮切换Tab按键 System_API.keybd_event(Keys.Enter, 0, 0, 0); System_API.keybd_event(Keys.Enter, 0, 0x02, 0); break; case AppCode.Upper: KeyBoardStateCache.CapsLock = !KeyBoardStateCache.CapsLock; KeyBoardStateCache.KeyBoard.SetMainKeyboardLedStatus(0, KeyBoardStateCache.CapsLock); System_API.keybd_event(Keys.CapsLock, 0, 0, 0); System_API.keybd_event(Keys.CapsLock, 0, 0x02, 0); break; case AppCode.Language: if (!KeyBoardStateCache.IsEN) //中文 { KeyBoardStateCache.IsEN = true; //英文 KeyBoardStateCache.KeyBoard.SetMainKeyboardLedStatus(1, false); KeyBoardStateCache.KeyBoard.SetMainKeyboardLedStatus(2, true); } else { //切换中文 英文LED关闭,大写LED关闭 ,中文LED开启 KeyBoardStateCache.IsEN = false; //中文 KeyBoardStateCache.KeyBoard.SetMainKeyboardLedStatus(2, false); KeyBoardStateCache.KeyBoard.SetMainKeyboardLedStatus(1, true); } //切换中英文,大写灯自动关闭 KeyBoardStateCache.KeyBoard.SetMainKeyboardLedStatus(0, false); KeyBoardStateCache.CapsLock = false; //模拟键盘Shift切换中英文输入法 System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event(Keys.ShiftKey, 0, 0x02, 0); break; case AppCode.Symbol: //符号键模拟 Control+Shift+Z 调取搜狗输入法符号页面 System_API.keybd_event(Keys.ControlKey, 0, 0, 0); System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event(Keys.Z, 0, 0, 0); System_API.keybd_event(Keys.ControlKey, 0, 0x02, 0); System_API.keybd_event(Keys.ShiftKey, 0, 0x02, 0); System_API.keybd_event(Keys.Z, 0, 0x02, 0); break; case AppCode.Coordination: this.ControlXiaoMai(); break; default: Dispatcher.BeginInvoke((Action) delegate { Messenger.Default.Send <AppCodeMessage>(new AppCodeMessage() { AppCode = keycode }); }, System.Windows.Threading.DispatcherPriority.Send); break; } }
/// <summary> /// 键盘标准按键响应 /// </summary> void keyBoard_KeyStandardEvent(uint keycode, uint fnkeys) { //模拟键盘输入 if (fnkeys == 1) { switch (keycode) { case 48: //0 keycode = 188; //, System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); break; case 49: //1 keycode = 189; //- System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); break; case 50: //2 keycode = 186; //: System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); System_API.keybd_event(Keys.ShiftKey, 0, 2, 0); break; case 51: //3 keycode = 187; //= System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); break; case 52: //4 keycode = 57; //( System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); System_API.keybd_event(Keys.ShiftKey, 0, 2, 0); break; case 53: //5 keycode = 111; //、 System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); break; case 54: //6 keycode = 48; //) System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); System_API.keybd_event(Keys.ShiftKey, 0, 2, 0); break; case 55: //7 keycode = 53; //% System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); System_API.keybd_event(Keys.ShiftKey, 0, 2, 0); break; case 56: //8 keycode = 186; //; System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); break; case 57: //9 keycode = 56; //* System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); System_API.keybd_event(Keys.ShiftKey, 0, 2, 0); break; default: break; } } else { if (keycode == 188) { keycode = 187; System_API.keybd_event(Keys.ShiftKey, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 0, 0); System_API.keybd_event((Keys)keycode, 0, 2, 0); System_API.keybd_event(Keys.ShiftKey, 0, 2, 0); } else { Keys key = (Keys)keycode; System_API.keybd_event(key, 0, 0, 0); System_API.keybd_event(key, 0, 0x02, 0); } } }