Exemple #1
0
        /// <summary>
        /// Adds a delay event to the current macro representing the time in ticks since this method was last called.
        /// </summary>
        private void AddDelayEvent()
        {
            long timeNow = DateTime.Now.Ticks;

            CurrentMacro.AddEvent(new MacroDelayEvent(timeNow - lastEventTime));
            lastEventTime = timeNow;
        }
Exemple #2
0
        public void Execute(MacroEntry macro)
        {
            if (macro.IsBackground)
            {
                if (macro.IsRunning)
                {
                    macro.Stop();
                }
                else
                {
                    macro.Execute();
                }
            }
            else
            {
                if (CurrentMacro != null && CurrentMacro.IsRunning)
                {
                    if (macro == CurrentMacro && macro.DoNotAutoInterrupt)
                    {
                        return;
                    }

                    CurrentMacro.Stop();
                }

                CurrentMacro = macro;
                CurrentMacro.Execute();
            }
        }
Exemple #3
0
 private void underlyingHook_MouseWheel(object sender, Silence.Hooking.GlobalMouseEventHandlerArgs e)
 {
     if (IsRunning)
     {
         AddDelayEvent();
         CurrentMacro.AddEvent(new MacroMouseWheelEvent(e.Point, e.Delta));
     }
 }
Exemple #4
0
 private void hook_MouseWheel(object sender, GlobalMouseEventHandlerArgs e)
 {
     if (IsRecording)
     {
         AddDelayEvent();
         CurrentMacro.AddEvent(new MacroMouseWheelEvent(e.Point, e.Delta));
     }
 }
Exemple #5
0
 private void underlyingHook_KeyUp(object sender, Silence.Hooking.GlobalKeyEventHandlerArgs e)
 {
     if (IsRunning)
     {
         AddDelayEvent();
         CurrentMacro.AddEvent(new MacroKeyUpEvent(e.VirtualKeyCode));
     }
 }
Exemple #6
0
 private void hook_MouseDown(object sender, GlobalMouseEventHandlerArgs e)
 {
     if (IsRecording)
     {
         AddDelayEvent();
         CurrentMacro.AddEvent(new MacroMouseDownEvent(e.Point, e.Button));
     }
 }
Exemple #7
0
 private void hook_KeyUp(object sender, GlobalKeyEventHandlerArgs e)
 {
     if (IsRecording)
     {
         AddDelayEvent();
         CurrentMacro.AddEvent(new MacroKeyUpEvent(e.VirtualKeyCode));
     }
 }
Exemple #8
0
 private void underlyingHook_MouseMove(object sender, Silence.Hooking.GlobalMouseEventHandlerArgs e)
 {
     CurrentXY = e.Point;
     if (IsRunning)
     {
         AddDelayEvent();
         CurrentMacro.AddEvent(new MacroMouseMoveEvent(e.Point));
     }
 }
 public void Stop(string name = null)
 {
     if (string.IsNullOrEmpty(name))
     {
         CurrentMacro?.Stop();
     }
     else
     {
         MacroEntry macro = Items.FirstOrDefault(m => m.Name.ToLower().Equals(name.ToLower()));
         macro?.Stop();
     }
 }
Exemple #10
0
        private void underlyingHook_KeyUp(object sender, Silence.Hooking.GlobalKeyEventHandlerArgs e)
        {
            bool?result = ShortcutHandler?.Invoke(e);

            if (result == null || result == true)
            {
                if (IsRunning)
                {
                    AddDelayEvent();
                    CurrentMacro.AddEvent(new MacroKeyUpEvent(e.VirtualKeyCode));
                }
            }
        }
Exemple #11
0
 public void Stop()
 {
     CurrentMacro?.Stop();
 }
Exemple #12
0
 /// <summary>
 /// Stops recording mouse and keyboard events.
 /// </summary>
 public void StopRecording()
 {
     updateStatus.Stop();
     IsRunning = false;
     CurrentMacro.SaveTemp();
 }