Exemple #1
0
 public override void Handle(SocketSession session, ePacketType reqType, object reqObj)
 {
     if (reqType == ePacketType.PACKET_START_CAPTURE_SCREEN_REQUEST)
     {
         // 开始捕获
         RequestStartGetScreen req = reqObj as RequestStartGetScreen;
         if (_request == null)
         {
             // 第一次发送启动监控请求,则创建监控线程
             _request   = req;
             _isRunning = true;
             RunTaskThread(StartCaptureScreen, session);
         }
         else
         {
             // 非第一次发送启动监控请求,则修改相关参数
             _request.fps = req.fps;
         }
     }
     else if (reqType == ePacketType.PACKET_STOP_CAPTURE_SCREEN_REQUEST)
     {
         // 停止捕获
         _isRunning = false;
     }
 }
        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            ToolStripButton button = sender as ToolStripButton;

            button.Checked = !button.Checked;
            if (button.Checked)
            {
                RequestStartGetScreen req = new RequestStartGetScreen();
                req.fps = 5;
                oSession.Send(ePacketType.PACKET_START_CAPTURE_SCREEN_REQUEST, req);
            }
            else
            {
                oSession.Send(ePacketType.PACKET_STOP_CAPTURE_SCREEN_REQUEST, null);
            }
        }
        /// <summary>
        /// 不同的帧率的点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void toolStripMenuItemFPS_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;

            if (item != null && item.Tag != null)
            {
                var parent = this.toolStripSplitButton2;
                for (int i = 0; i < parent.DropDownItems.Count; i++)
                {
                    var mItem = parent.DropDownItems[i] as ToolStripMenuItem;
                    if (mItem != null)
                    {
                        mItem.Checked = false;
                    }
                }

                int fps = Convert.ToInt32(item.Tag);
                item.Checked = true;
                RequestStartGetScreen req = new RequestStartGetScreen();
                req.fps = fps;
                oSession.Send(ePacketType.PACKET_START_CAPTURE_SCREEN_REQUEST, req);
            }
        }