private void InterceptKeyboard_KeyDownEvent(object sender, InterceptKeyboard.OriginalKeyEventArg e) { //**************************** //ここに決められたキーが入力された時の処理追加 //キー入力値がショートカットで設定されたキーと一致するか確認 InputKeyCheckLogic.InputKeyCheck(e.KeyCode); if (InputKeyCheckLogic.keyList.Count() == 0) { ClipBoardLogic clipBoardLogic = new ClipBoardLogic(); //クリップボードのバックアップ取得 clipBoardLogic.makeBackup(); //貼り付けた後はリストをショートカットリストをリセット InputKeyCheckLogic.ShortcutKeyListInit(); DateTime datetime = DateTime.Now; var pasteFormat = ConfigurationManager.AppSettings["pasteFormat"]; //クリップボードに日付をセット clipBoardLogic.setClipborard(datetime.ToString(pasteFormat)); //Ctrl+Vを送信して貼り付け SendKeys.Send("^v"); //バックアップを戻す clipBoardLogic.RestoreBackup(); } //Console.WriteLine("Keydown KeyCode {0}", e.KeyCode); }
/** ****************************************************************************************************************** * <summary> * ホットキーの定義 * </summary> */ private bool InterceptKeyboard_KeyDownEvent(object sender, InterceptKeyboard.OriginalKeyEventArg e) { //Logger.WriteLine("InterceptKeyboard_KeyDownEvent : " + e.ToString()); foreach (InterceptKeyboardSetting interceptKeyboardSetting in InterceptKeyboardSettingManager.GetSettings()) { if (e.Equals(interceptKeyboardSetting.key, interceptKeyboardSetting.modifiers)) { if (interceptKeyboardSetting.needsAsync) { Task task = Task.Run(() => { Type t = this.GetType(); MethodInfo methodInfo = t.GetMethod(interceptKeyboardSetting.methodName); object r = methodInfo.Invoke(this, null); }); task.ContinueWith((t) => { if (t.Exception != null) { Logger.Exception(t.Exception); } }); return(false); } else { try { Type t = this.GetType(); MethodInfo methodInfo = t.GetMethod(interceptKeyboardSetting.methodName); object r = methodInfo.Invoke(this, null); } catch (Exception ex) { Logger.Exception(ex); throw ex; } } } } return(true); }
private static void InterceptKeyboard_KeyUpEvent(object sender, InterceptKeyboard.OriginalKeyEventArg e) { Console.WriteLine("Keyup KeyCode {0}", e.KeyCode); }