예제 #1
0
        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();
            });
        }