///<summary> ///KeyboardHookedイベントを発生させる。 ///</summary> ///<param name="e">イベントのデータ。</param> protected virtual void OnKeyboardHooked(KeyboardHookedEventArgs e) { KeyboardHookedEventHandler handler = base.Events[EventKeyboardHooked] as KeyboardHookedEventHandler; if (handler != null) { handler(this, e); } }
private int CallNextHook(int code, KeyboardMessage message, ref KeyboardState state) { if (code >= 0) { KeyboardHookedEventArgs e = new KeyboardHookedEventArgs(message, ref state); OnKeyboardHooked(e); if (e.Cancel) { return(-1); } } return(CallNextHookEx(IntPtr.Zero, code, message, ref state)); }
/// <summary> /// WindowsのKeyboard入力を取得する /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void KeyboardHook_KeyboardHooked(object sender, Macrobo.Utils.Gui.KeyboardHookedEventArgs e) { try { SetKeyInputFlag(e); if (ShiftKeyDown && ControlKeyDown && SKeyDown) { if (_execThread != null && _execThread.IsAlive) { if (_macroExecutor != null) { _macroExecutor._stopFlag = true; ClearKeyInput(); } } } } catch (Exception ex) { throw Program.ThrowException(ex); } }