Пример #1
0
        ///<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);
            }
        }
Пример #2
0
 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));
 }
Пример #3
0
 /// <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);
     }
 }