public bool CreateService() { if (_MagService == null) { _MagService = new MagService(IntPtr.Zero); } return(_MagService.Initialize()); }
/// <summary> /// 刷新相机下拉框,重新获取局域网内所有的热像仪 /// </summary> private void UpdateOnlineDevComboLst() { MagService service = _DataControl.GetService(); //获取相机服务器 uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); //获取在线相机 int index = comboBoxOnlineDevice.SelectedIndex; //获取选中的下拉框的索引 uint ip = 0; if (index >= 0 && index < _LstComboIP.Count) { ip = _LstComboIP[index]; } comboBoxOnlineDevice.Items.Clear(); //清空下拉框 //cmbDisplay.Items.Clear(); _LstComboIP.Clear(); //IP地址情况 string sItem = ""; for (int i = 0; i < dev_num; i++) { //创建摄像机名称, if (_LstEnumInfo[i].intUsrIp == service.GetLocalIp()) // { sItem = String.Format("{0}(conn)", _LstEnumInfo[i].sName); //连接 } else if (_LstEnumInfo[i].intUsrIp != 0 && _LstEnumInfo[i].intUsrIp != service.GetLocalIp()) //繁忙 { sItem = String.Format("{0}(busy-{1})", _LstEnumInfo[i].sName, _LstEnumInfo[i].intUsrIp >> 24); } else { sItem = _LstEnumInfo[i].sName;//位置 } comboBoxOnlineDevice.Items.Add(sItem); _LstComboIP.Add(_LstEnumInfo[i].intCamIp); if (_LstEnumInfo[i].intCamIp == ip) { comboBoxOnlineDevice.SelectedIndex = i; } } int displayCount = Globals.GetMainFrm().GetFormDisplayCount();//获取有多少个摄像头 // cmbSelect(comboBoxOnlineDevice); }
private void UpdateOnlineDevComboLst() { MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); int index = comboBoxOnlineDevice.SelectedIndex; uint ip = 0; if (index >= 0 && index < _LstComboIP.Count) { ip = _LstComboIP[index]; } comboBoxOnlineDevice.Items.Clear(); _LstComboIP.Clear(); string sItem = ""; for (int i = 0; i < dev_num; i++) { if (_LstEnumInfo[i].intUsrIp == service.GetLocalIp()) { sItem = String.Format("{0}(conn)", _LstEnumInfo[i].sName); } else if (_LstEnumInfo[i].intUsrIp != 0 && _LstEnumInfo[i].intUsrIp != service.GetLocalIp()) { sItem = String.Format("{0}(busy-{1})", _LstEnumInfo[i].sName, _LstEnumInfo[i].intUsrIp >> 24); } else { sItem = _LstEnumInfo[i].sName; } comboBoxOnlineDevice.Items.Add(sItem); _LstComboIP.Add(_LstEnumInfo[i].intCamIp); if (_LstEnumInfo[i].intCamIp == ip) { comboBoxOnlineDevice.SelectedIndex = i; } } if (comboBoxOnlineDevice.Items.Count == 0) { comboBoxOnlineDevice.SelectedIndex = -1; } else if (comboBoxOnlineDevice.SelectedIndex < 0) { comboBoxOnlineDevice.SelectedIndex = 0; } }
private void buttonLink_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); //创建 uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); //获取在线相机 ConnectionCamer(_LstEnumInfo[index].intCamIp); RefreshOnlineDevice(); }
private void buttonLink_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); if (_DataControl.IsLinkedByMyself(_LstEnumInfo[index].intCamIp)) { return; } else if (_DataControl.IsLinkedByOthers(_LstEnumInfo[index].intUsrIp)) { DialogResult result = MessageBox.Show("相机正与其它终端连接,确信要抢占吗?", "连接相机", MessageBoxButtons.YesNo); if (result != DialogResult.Yes) { return; } } if (_DataControl.IsInvadedByOthers(_LstEnumInfo[index].intUsrIp)) { DislinkCamera(_LstEnumInfo[index].intCamIp); } FormDisplay display = _DataControl.GetCurrDisplayForm(); if (display != null) { MagDevice device = display.GetDateDisplay().GetDevice(); if (device.LinkCamera(_LstEnumInfo[index].intCamIp, 2000)) { DataDisplay.CurrSelectedWndIndex = display.GetDateDisplay().WndIndex;//更新选中框 Globals.GetMainFrm().GetFormDisplayBG().Invalidate(false); } } RefreshOnlineDevice(); }
private void buttonDislink_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); DislinkCamera(_LstEnumInfo[index].intCamIp); Thread.Sleep(300); RefreshOnlineDevice(); }
private void buttonPlay_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[index].intCamIp); if (frmDisplay != null) { frmDisplay.GetDateDisplay().Play(); } }
private void buttonPlay_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); for (int i = 0; i < comboBoxOnlineDevice.Items.Count; i++) { FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[i].intCamIp); //选择已经绑定的IP的显示窗口 if (frmDisplay != null) { frmDisplay.GetDateDisplay().Play(); ChangeBtnCursor(2); } } }
private void buttonStop_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } DialogResult MsgBoxResult = MessageBox.Show("确定要停止播放且停止采集热点?", //对话框的显示内容 "操作提示", //对话框的标题 MessageBoxButtons.YesNo, //定义对话框的按钮,这里定义了YSE和NO两个按钮 MessageBoxIcon.Question, //定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号 MessageBoxDefaultButton.Button2); //定义对话框的按钮式样 if (MsgBoxResult == DialogResult.Yes) { MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); for (int i = 0; i < comboBoxOnlineDevice.Items.Count; i++) { FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[i].intCamIp); if (frmDisplay == null) { continue; } frmDisplay.Stop = false; frmDisplay.GetDateDisplay().GetDevice().StopProcessImage(); frmDisplay.Invalidate(false); isThreadRun = false; FormMain.GetOPCTaskInfo("线程停止!"); FormMain.GetOPCTaskInfo("视频停止播放,热点信息停止采集,任务停止发送!"); ChangeBtnCursor(1); } } }