private void Handler() { _interruptFlag = false; Task t = Task.Run(() => { long clickCounter = 0; if (ClickedMouseButton.HasFlag(MouseButtons.Left)) { _stopWatch.Start(); while (!_interruptFlag) { MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftDown); Thread.Sleep(PressDuration); MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftUp); Thread.Sleep(RepeatDelay); clickCounter++; } _stopWatch.Stop(); } else if (ClickedMouseButton.HasFlag(MouseButtons.Right)) { _stopWatch.Start(); while (!_interruptFlag) { MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.RightDown); Thread.Sleep(PressDuration); MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.RightUp); Thread.Sleep(RepeatDelay); clickCounter++; } _stopWatch.Stop(); } /*StatisticsRecorder._stopWatch.Start(); * while (!_interruptFlag) * { * if (ClickedMouseButton.HasFlag(MouseButtons.Left)) * MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftDown); * else if (ClickedMouseButton.HasFlag(MouseButtons.Right)) * MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.RightDown); * * Thread.Sleep(PressDuration); * * if (ClickedMouseButton.HasFlag(MouseButtons.Left)) * MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftUp); * else if (ClickedMouseButton.HasFlag(MouseButtons.Right)) * MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.RightUp); * * Thread.Sleep(RepeatDelay); * clickCounter++; * }*/ //StatisticsRecorder._stopWatch.Stop(); StatisticsRecorder.FinishTest(clickCounter, _stopWatch.ElapsedMilliseconds); _stopWatch.Reset(); }); }