Esempio n. 1
0
 private void HandleHotkey()
 {
     if (recording)
     {
         Stopclick();
     }
     else if (PlayWorker.IsBusy)
     {
         if (ForeverLoop.Checked)
         {
             ForeverLoop.Checked = false;
         }
         PlayWorker.CancelAsync();
     }
 }
 private void playBackMacroButton_Click(object sender, EventArgs e)
 {
     if (Hidewindow.Checked)
     {
         Hide();
     }
     else
     {
         playBackMacroButton.Enabled = false;
         recordStartButton.Enabled   = false;
         recordStopButton.Enabled    = true;
         progressBar1.Maximum        = events.Count();
         progressBar1.Visible        = true;
     }
     PlayWorker.RunWorkerAsync();
 }
Esempio n. 3
0
 public void Stopclick()
 {
     if (recording)
     {
         keyboardHook.Stop();
         mouseHook.Stop();
         recording = false;
         recordStartButton.Enabled   = true;
         playBackMacroButton.Enabled = true;
         recordStopButton.Enabled    = false;
     }
     else if (PlayWorker.IsBusy)
     {
         PlayWorker.CancelAsync();
     }
 }
Esempio n. 4
0
 private void PlayWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
 {
     if (ForeverLoop.Checked)
     {
         PlayWorker.RunWorkerAsync();
     }
     else if (Hidewindow.Checked)
     {
         Show();
     }
     else
     {
         progressBar1.Visible        = false;
         playBackMacroButton.Enabled = true;
         recordStartButton.Enabled   = true;
         recordStopButton.Enabled    = false;
     }
 }
Esempio n. 5
0
        private void playBackMacroButton_Click(object sender, EventArgs e)
        {
            if (Hidewindow.Checked)
            {
                Hide();
            }
            else
            {
                var selectedMacro = MacroEvents.Where(s => s.MacroName.Equals(selectedMacroName)).FirstOrDefault();
                if (selectedMacro != null)
                {
                    events = selectedMacro.Events;
                }

                playBackMacroButton.Enabled = false;
                recordStartButton.Enabled   = false;
                recordStopButton.Enabled    = true;
                progressBar1.Maximum        = events.Count();
                progressBar1.Visible        = true;
            }
            PlayWorker.RunWorkerAsync();
        }
        private void HandleHotkey()
        {
            if (btnRecord.Text == "Stop")
            {
                Captura.DesktopRecorder.Stop();
                btnRecord.Text = "Record";
                return;
            }

            if (recording)
            {
                Stopclick();
            }
            else if (PlayWorker.IsBusy)
            {
                if (ForeverLoop.Checked)
                {
                    ForeverLoop.Checked = false;
                }
                PlayWorker.CancelAsync();
            }
        }
Esempio n. 7
0
        private void PlayWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            var eventpass           = 0;
            var previousProcessName = string.Empty;

            foreach (MacroEvent macroEvent in events)
            {
                ++eventpass;
                PlayWorker.ReportProgress(eventpass);

                if (PlayWorker.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }

                //// Focus correct process
                //try
                //{
                //    if (macroEvent.CurrentProcessName == "GlobalMacroRecorder")
                //        continue;

                //    if (macroEvent.CurrentProcessName != previousProcessName)
                //        Resources.ProcessHelper.BringMainWindowToFront(macroEvent.CurrentProcessName);

                //    if (macroEvent.CurrentProcessName != "explorer")
                //        Resources.ProcessHelper.MoveWindow(macroEvent.WindowSize);
                //}
                //catch { }

                Thread.Sleep(macroEvent.TimeSinceLastEvent);

                switch (macroEvent.MacroEventType)
                {
                case MacroEventType.MouseMove:
                {
                    //var mouseArgs = (MouseEventArgs)macroEvent.EventArgs;
                    var mouseArgs = macroEvent.MouseEventArgs;
                    MouseSimulator.X = mouseArgs.X;
                    MouseSimulator.Y = mouseArgs.Y;
                }
                break;

                case MacroEventType.MouseDown:
                {
                    //var mouseArgs = (MouseEventArgs)macroEvent.EventArgs;
                    var mouseArgs = macroEvent.MouseEventArgs;
                    MouseSimulator.X = mouseArgs.X;
                    MouseSimulator.Y = mouseArgs.Y;
                    MouseSimulator.MouseDown(mouseArgs.Button);
                }
                break;

                case MacroEventType.MouseUp:
                {
                    //var mouseArgs = (MouseEventArgs)macroEvent.EventArgs;
                    var mouseArgs = macroEvent.MouseEventArgs;
                    MouseSimulator.X = mouseArgs.X;
                    MouseSimulator.Y = mouseArgs.Y;
                    MouseSimulator.MouseUp(mouseArgs.Button);
                }
                break;

                case MacroEventType.KeyDown:
                {
                    //var keyArgs = (KeyEventArgs)macroEvent.EventArgs;
                    var keyArgs = macroEvent.KeyEventArgs;
                    KeyboardSimulator.KeyDown(keyArgs.KeyCode);
                }
                break;

                case MacroEventType.KeyUp:
                {
                    //var keyArgs = (KeyEventArgs)macroEvent.EventArgs;
                    var keyArgs = macroEvent.KeyEventArgs;
                    KeyboardSimulator.KeyUp(keyArgs.KeyCode);
                }
                break;
                }
            }
        }
        private void PlayWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            var eventpass = 0;

            //MouseSimulator.X = 0;
            //MouseSimulator.Y = 0;
            foreach (MacroEvent macroEvent in events)
            {
                ++eventpass;
                PlayWorker.ReportProgress(eventpass);
                if (PlayWorker.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }
                Thread.Sleep(macroEvent.TimeSinceLastEvent);
                switch (macroEvent.MacroEventType)
                {
                case MacroEventType.MouseMove:
                {
                    var mouseArgs = (MouseEventArgs)macroEvent.MouseArgs;
                    MouseSimulator.X = (int)(mouseArgs.X / ScaleX);
                    MouseSimulator.Y = (int)(mouseArgs.Y / ScaleY);
                }
                break;

                case MacroEventType.MouseDown:
                {
                    var mouseArgs = (MouseEventArgs)macroEvent.MouseArgs;
                    MouseSimulator.MouseDown(mouseArgs.Button);
                }
                break;

                case MacroEventType.MouseUp:
                {
                    var mouseArgs = (MouseEventArgs)macroEvent.MouseArgs;
                    MouseSimulator.MouseUp(mouseArgs.Button);
                }
                break;

                case MacroEventType.MouseWheel:
                {
                    var mouseArgs = (MouseEventArgs)macroEvent.MouseArgs;
                    MouseSimulator.MouseWheel(mouseArgs.Delta);
                }
                break;

                case MacroEventType.KeyDown:
                {
                    var keyArgs = (KeyEventArgs)macroEvent.KeyArgs;

                    KeyboardSimulator.KeyDown(keyArgs.KeyCode);
                }
                break;

                case MacroEventType.KeyUp:
                {
                    var keyArgs = (KeyEventArgs)macroEvent.KeyArgs;
                    KeyboardSimulator.KeyUp(keyArgs.KeyCode);
                }
                break;
                }
            }
        }