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; } } }