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