Example #1
0
        private void StartCaptureScreen(SocketSession session)
        {
            int sleepValue = 1000;
            int fpsValue   = 1;

            while (true)
            {
                if (!_isRunning)
                {
                    return;
                }
                fpsValue   = _request.fps;
                sleepValue = 1000 / fpsValue;
                for (int i = 0; i < fpsValue; i++)
                {
                    ResponseStartGetScreen resp = new ResponseStartGetScreen();
                    try
                    {
                        resp.SetImage(ScreenUtil.CaptureScreen2(), ImageFormat.Jpeg);
                    }
                    catch (Exception ex)
                    {
                        resp.Result  = false;
                        resp.Message = ex.Message;
                        resp.Detail  = ex.StackTrace;
                    }
                    session.Send(ePacketType.PACKET_START_CAPTURE_SCREEN_RESPONSE, resp);
                    Thread.Sleep(sleepValue);
                }
            }
        }
 public void HandleScreen(ResponseStartGetScreen resp)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new Action <ResponseStartGetScreen>(HandleScreen), resp);
         return;
     }
     try
     {
         this.pictureBox1.Image = resp.GetImage();
     }
     catch (Exception ex)
     {
         Logger.Error("HandleScreen", ex);
     }
 }