Exemplo n.º 1
0
        public bool CreateService()
        {
            if (_MagService == null)
            {
                _MagService = new MagService(IntPtr.Zero);
            }

            return(_MagService.Initialize());
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
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();
        }
Exemplo n.º 5
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);

            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();
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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();
            }
        }
Exemplo n.º 8
0
        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);
                }
            }
        }
Exemplo n.º 9
0
        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);
                }
            }
        }