コード例 #1
0
ファイル: frm_VDCMain.cs プロジェクト: dalinhuang/demodemo
 private void btnAddDev_Click(object sender, EventArgs e)
 {
     frm_AddDevice fAddDev = new frm_AddDevice();
     fAddDev.ShowDialog();
     //DHClient.DHSetShowException(true);
     try
     {
         if (fAddDev.blnOKEnter == true)
         {
             //设备用户信息获得
             deviceInfo = new NET_DEVICEINFO();
             int error = 0;
             //设备用户登录
             pLoginID = DHClient.DHLogin(fAddDev.cmbDevIP.Text.ToString(), ushort.Parse(fAddDev.txtDevProt.Text.ToString()), fAddDev.txtName.Text.ToString(), fAddDev.txtPassword.Text.ToString(), out deviceInfo, out error);
             if (pLoginID != 0)
             {
                 //btnStartRealPlay.Enabled = true;
                 btnStartPlay.Enabled = true;
             }
             else
             {
                 //btnStartRealPlay.Enabled = false;
                 btnStartPlay.Enabled = false;
                 MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
             }
         }
     }
     catch
     {
         //报最后一次操作的错误信息
         MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
     }
 }
コード例 #2
0
        /// <summary>
        /// 添加设备1处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddDevice1_Click(object sender, EventArgs e)
        {
            frm_AddDevice fAddDev = new frm_AddDevice();
            fAddDev.ShowDialog();
            try
            {
                if (fAddDev.blnOKEnter == true)
                {
                    //设备用户信息获得
                    deviceInfo = new NET_DEVICEINFO();
                    int error = 0;
                    //设备1登录:注意登录ID
                    pLoginID1 = DHClient.DHLogin(fAddDev.cmbDevIP.Text.ToString(), ushort.Parse(fAddDev.txtDevProt.Text.ToString()), fAddDev.txtName.Text.ToString(), fAddDev.txtPassword.Text.ToString(), out deviceInfo, out error);
                    //是否登录成功判断
                    if (pLoginID1 != 0)
                    {
                        MessageBox.Show("设备1登录成功!", "提示");
                    }
                    else
                    {
                        MessageBox.Show("设备1登录失败!", "提示");
                    }
                }
            }
            catch
            {

            }
        }
コード例 #3
0
ファイル: frm_Main.cs プロジェクト: doksec/bykom_dahuaDotNet
        /// <summary>
        /// 用户登录按钮按下处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUserLogin_Click(object sender, EventArgs e)
        {
            string strBtn = btnUserLogin.Text;
            if (strBtn == Utility.StringUtil.ConvertString("设备用户登录"))
            {
                frm_AddDevice fLogin = new frm_AddDevice();
                fLogin.ShowDialog();
                if (fLogin.blnOKEnter == true)
                {
                    //设备用户信息获得
                    deviceInfo = new NET_DEVICEINFO();
                    int error = 0;
                    //设备用户登录
                    pLoginID = DHClient.DHLogin(fLogin.cmbDevIP.Text.ToString(), ushort.Parse(fLogin.txtDevProt.Text.ToString()), fLogin.txtName.Text.ToString(), fLogin.txtPassword.Text.ToString(), out deviceInfo, out error);
                    if (pLoginID != 0)
                    {
                        strUserName = fLogin.txtDevName.Text;
                        btnUserLogin.BackColor = Color.Yellow;
                        btnUserLogin.Text = StringUtil.ConvertString("设备用户注销");
                        grbMain.Enabled = true;
                    }
                    else
                    {
                        //报最后一次操作的错误信息
                        MessageUtil.ShowMsgBox(StringUtil.ConvertString(DHClient.LastOperationInfo.errMessage, "ErrorMessage"),
                                               StringUtil.ConvertString(pMsgTitle));
                    }
                }
            }
            else if (strBtn == Utility.StringUtil.ConvertString("设备用户注销"))
            {
                bool result = DHClient.DHLogout(pLoginID);
                if (result == false)
                {
                    //报最后一次操作的错误信息
                    MessageUtil.ShowMsgBox(StringUtil.ConvertString(DHClient.LastOperationInfo.errMessage, "ErrorMessage"),
                                           StringUtil.ConvertString(pMsgTitle));
                }
                btnUserLogin.BackColor = Color.Transparent;
                btnUserLogin.Text = StringUtil.ConvertString("设备用户登录");
                grbMain.Enabled = false;

                Utility.StringUtil.InitControlText(this);
            }
        }
コード例 #4
0
ファイル: frm_Main.cs プロジェクト: doksec/bykom_dahuaDotNet
        private void login(int cantidadVentanas)
        {
            //this.initPantallas(cantidadVentanas);
            //this.inicializarVentanas(cantidadVentanas);
          
            int error = 0;
            if (pLoginID == 0)
            {
                deviceInfo = new NET_DEVICEINFO();
                pLoginID = DHClient.DHLogin(this.ip, this.port, this.user, this.pass, out deviceInfo, out error);
            }
            if (pLoginID != 0)
            {
                this.startButtons(false);

                pRealPlayHandle = new int[deviceInfo.byChanNum];
                cantidadCamaras = deviceInfo.byChanNum;
                comboBoxCamaras.Items.Clear();
                for (int i = 0; i < cantidadCamaras; i++)
                {
                    comboBoxCamaras.Items.Add((i + 1).ToString());
                }
                
                //this.play(this.channel);

                comboBoxCamaras.SelectedIndex = this.channel;
                comboBoxVentanas.SelectedIndex = this.getIndexCantidadVentanas(cantidadVentanas);
                realPlay();

               
            }
            else
            {
                /*btnStartRealPlay.Enabled = false;
                btnLogin.Enabled = true;
                btnLogout.Enabled = false;*/
                this.startButtons(true);
                if (DHClient.LastOperationInfo.errCode == "-2147483548")
                {
                    MessageBox.Show("Error de conexion a la camara: Password incorrecto!", pMsgTitle);
                }
                else if (DHClient.LastOperationInfo.errCode == "-2147483547")
                {
                    MessageBox.Show("Error de conexion a la camara: Usuario incorrecto!", pMsgTitle);
                }
                else if (DHClient.LastOperationInfo.errCode == "-2147483541")
                {
                    MessageBox.Show("Error de conexion a la camara! No fue posible conectar a la IP o puerto especificado", pMsgTitle);
                }
                else
                {
                    MessageBox.Show("Error de conexion a la camara:" + DHClient.LastOperationInfo.errCode, pMsgTitle);
                }


                
                Application.Exit();
            }
        }
コード例 #5
0
ファイル: Form1.cs プロジェクト: doksec/bykom_dahuaDotNet
        private void Login_Click(object sender, EventArgs e)
        {
            if (!m_bInit)
            {
                MessageBox.Show("库初始化失败");
                return;
            }

            //设备用户信息获得
            NET_DEVICEINFO deviceInfo = new NET_DEVICEINFO();
            int error = 0;
            m_nLoginID = DHClient.DHLogin(this.textBoxIP.Text.ToString(), ushort.Parse(this.textBoxPort.Text.ToString()),
                        this.textBoxUser.Text.ToString(), this.textBoxPsw.Text.ToString(), out deviceInfo, out error);

            if (m_nLoginID > 0)
            {
                this.Login.Enabled = false;
                this.Logout.Enabled = true;
                m_nChannelNum = deviceInfo.byChanNum;
                for (int i = 0; i < m_nChannelNum; ++i )
                {
                    this.comboBoxChannel.Items.Add(i.ToString());
                }
                
                //query json ability.
                Int32 dwRetLen = 0;
                IntPtr pDevEnable = new IntPtr();
                pDevEnable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(DH_DEV_ENABLE_INFO)));
                bool bRet = DHClient.DHQuerySystemInfo(m_nLoginID, DH_SYS_ABILITY.ABILITY_DEVALL_INFO, pDevEnable,
                                                Marshal.SizeOf(typeof(DH_DEV_ENABLE_INFO)), ref dwRetLen, 1000);
                if (bRet == false)
                {
                    //MessageBox.Show(ConvertString("Query device ability failed."));
                    MessageBox.Show("查询设备能力失败");
                    return;
                }


                DH_DEV_ENABLE_INFO devEnable = new DH_DEV_ENABLE_INFO();
                devEnable = (DH_DEV_ENABLE_INFO)Marshal.PtrToStructure(pDevEnable, typeof(DH_DEV_ENABLE_INFO));
                m_bJSON = devEnable.IsFucEnable[(Int32)DH_FUN_SUPPORT.EN_JSON_CONFIG] > 0 ? true : false;

                 if (m_bJSON == false)
                 {
                     int nRetLen = 0;
                     IntPtr pStuSnapAttr = new IntPtr();
                     pStuSnapAttr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(DH_SNAP_ATTR_EN)));
                     bool nRet = DHClient.DHQueryDevState(m_nLoginID, (int)DHClient.DH_DEVSTATE_SNAP
                                                        , pStuSnapAttr, Marshal.SizeOf(typeof(DH_SNAP_ATTR_EN)) , ref nRetLen, 1000);
                     if (nRet == false || nRetLen != Marshal.SizeOf(typeof(DH_SNAP_ATTR_EN)))
                     {
                         MessageBox.Show("获取抓图能力集失败!");
                         return;
                     }
                     else
                     {
                         m_stuSnapAttr = (DH_SNAP_ATTR_EN)Marshal.PtrToStructure(pStuSnapAttr, typeof(DH_SNAP_ATTR_EN));
                     }
                 }
                 else//json
                 {
                     InitSnapConfigExUI(0);
                 }

                 IntPtr pSnapCfg = new IntPtr();
                 pSnapCfg = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(DHDEV_SNAP_CFG)) * 32);
                 UInt32 dwRetConfig = 0;
                 bRet = DHClient.DHGetDevConfig(m_nLoginID, CONFIG_COMMAND.DH_DEV_SNAP_CFG, -1, pSnapCfg, (UInt32)Marshal.SizeOf(typeof(DHDEV_SNAP_CFG)) * 32, ref dwRetConfig, 1000);
                 if (!bRet)
                 {
                     MessageBox.Show("获取抓图配置失败!");
                     return;
                 }
                 else
                 {
                     for (int i = 0; i < 32; ++i )
                     {
                         m_stuSnapCfg[i] = (DHDEV_SNAP_CFG)Marshal.PtrToStructure((IntPtr)((UInt32)pSnapCfg+i*Marshal.SizeOf(typeof(DHDEV_SNAP_CFG)))
                                                                    , typeof(DHDEV_SNAP_CFG));
                     }
                 }

                 if (this.comboBoxChannel.Items.Count > 0)
                 {
                     this.comboBoxChannel.SelectedIndex = 0;
                 }

                 this.buttonGet.Enabled = true;
                 this.buttonSet.Enabled = true;
                 this.buttonStart.Enabled = true;
                 this.buttonStop.Enabled = true;
            }
        }
コード例 #6
0
ファイル: frm_Main.cs プロジェクト: dalinhuang/demodemo
 /// <summary>
 /// 用户登录按钮按下处理
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnUserLogin_Click(object sender, EventArgs e)
 {
     switch (btnUserLogin.Text)
     {
         case "设备用户登录":
             frm_AddDevice fLogin = new frm_AddDevice();
             fLogin.ShowDialog();
             if (fLogin.blnOKEnter == true)
             {
                 //设备用户信息获得
                 NET_DEVICEINFO deviceInfo = new NET_DEVICEINFO();
                 int error = 0;
                 //设备用户登录
                 pLoginID = DHClient.DHLogin(fLogin.cmbDevIP.Text.ToString(), ushort.Parse(fLogin.txtDevProt.Text.ToString()), fLogin.txtName.Text.ToString(), fLogin.txtPassword.Text.ToString(), out deviceInfo, out error);
                 if (pLoginID != 0)
                 {
                     btnUserLogin.BackColor = Color.Yellow;
                     btnUserLogin.Text = "设备用户注销";
                     grbMain.Enabled = true;
                 }
                 else
                 {
                     //报最后一次操作的错误信息
                     MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
                     grbMain.Enabled = false;
                 }
             }
             break;
         case "设备用户注销":
             bool result = DHClient.DHLogout(pLoginID);
             if (result == false)
             {
                 //报最后一次操作的错误信息
                 MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
             }
             btnUserLogin.BackColor = Color.Transparent;
             btnUserLogin.Text = "设备用户登录";
             grbMain.Enabled = false;
             break;
     }
 }
コード例 #7
0
ファイル: frm_Main.cs プロジェクト: doksec/bykom_dahuaDotNet
        /// <summary>
        /// 设备用户登录/注销处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUserLogin_Click(object sender, EventArgs e)
        {
            string strLogin  = StringUtil.ConvertString("设备用户登录");
            string strLogout = StringUtil.ConvertString("设备用户注销");

            if (btnUserLogin.Text.Equals(strLogin))
            {
                frm_AddDevice fLogin = new frm_AddDevice();
                fLogin.ShowDialog();
                if (fLogin.blnOKEnter == true)
                {
                    //设备用户信息获得
                    NET_DEVICEINFO deviceInfo = new NET_DEVICEINFO();

                    int error = 0;
                    //设备用户登录
                    pLoginID = DHClient.DHLogin(fLogin.cmbDevIP.Text.ToString(), ushort.Parse(fLogin.txtDevProt.Text.ToString()), fLogin.txtName.Text.ToString(), fLogin.txtPassword.Text.ToString(), out deviceInfo, out error);
                    if (pLoginID != 0)
                    {
                        btnUserLogin.BackColor = Color.Yellow;
                        btnUserLogin.Text = strLogout;
                        grpMain.Enabled = true;
                        //读取用户信息
                        GetUserInfo(pLoginID, ref userManageInfo, 3000);
                        //设置消息回调函数
                        DHClient.DHSetDVRMessCallBack(msgCallBack, IntPtr.Zero);
                        IntPtr pVer = new IntPtr();
                        pVer = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(int)));
                        int nRet = 0;
                        int nVer = 0;
                        bool bRet = DHClient.DHQueryDevState((int)pLoginID, (int)DHClient.DH_DEVSTATE_PROTOCAL_VER, pVer, 4, ref nRet, 2000);
                        if (bRet)
                        {
                             nVer = (int)Marshal.PtrToStructure((IntPtr)((UInt32)pVer), typeof(int));

                             //开始侦听
                             if (nVer >= 5)
                             {
                                 if (DHClient.DHStartListenEx(pLoginID) == true)
                                 {
                                     timeDisplayAlarmInfo.Enabled = true;
                                 }
                                 else
                                 {
                                     timeDisplayAlarmInfo.Enabled = false;
                                 }
                             }
                             else
                             {
                                 if (DHClient.DHStartListen(pLoginID) == true)
                                 {
                                     timeDisplayAlarmInfo.Enabled = true;
                                 }
                                 else
                                 {
                                     timeDisplayAlarmInfo.Enabled = false;
                                 }
                             }
                        }
                        
                    }
                }
            }
            else
            {
                bool result = DHClient.DHLogout(pLoginID);
                if (result == false)
                {
                    //报最后一次操作的错误信息
                    MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
                }


                //画面初期化
                timeDisplayAlarmInfo.Enabled = false;
                this.Controls.Clear();
                InitializeComponent();
                StringUtil.InitControlText(this);
                pLoginID = 0;
                userManageInfo = new USER_MANAGE_INFO();
                clientState = new NET_CLIENT_STATE();
                AlarmAudio = new byte[16];
                AlarmDiskErr = new byte[32];//DVR最大可挂32块硬盘,每一位表示一个硬盘的状态,0:硬盘状态正常;1:硬盘出错
                AlarmDiskFull = false;
                AlarmShelter = new byte[16];
                AlarmExternal = new byte[16];
                ActiveUserID = 0;
                ActiveGroupID = 0;
                ActiveGroupIndex = 0;
                ActiveUserIndex = 0;
                btnUserLogin.BackColor = Color.Transparent;
                btnUserLogin.Text = strLogin;
                grpMain.Enabled = false;
                this.WindowState = FormWindowState.Normal;
            }

        }
コード例 #8
0
        /// <summary>
        /// 初始化函数
        /// </summary>
        /// <param name="strServerIP">视频IP</param>
        /// <param name="iChannel">通道号</param>
        /// <param name="strUserName">用户名</param>
        /// <param name="strPsw">密码</param>
        /// <param name="strPath">抓图存储路径 如:\\LoadWeightPic\\FrontImage.jpg</param>
        public void Initialize(string strServerIP, int iChannel, string strUserName, string strPsw, string strPath)
        {
            try
            {
                if (IsLogin)
                {
                    disConnect = new fDisConnect(DisConnectEvent);
                    DHClient.DHInit(disConnect, IntPtr.Zero);
                    DHClient.DHSetEncoding(LANGUAGE_ENCODING.gb2312);

                    deviceInfo = new NET_DEVICEINFO();
                    int iLoginError = 0;
                    iLogin = DHClient.DHLogin(strServerIP, ushort.Parse("37777"), strUserName, strPsw, out deviceInfo, out iLoginError);
                    IsLogin = false;
                }

                _strPath = strPath;
                _strServerIP = strServerIP;
                _iChannel = iChannel;
                iRealPlay = DHClient.DHRealPlay(iLogin, _iChannel, this.Pic.Handle);
            }
            catch(Exception ex)
            {
                Log.WriteLog("大华视频显示控件-初始化:", ex);
            }
        }
コード例 #9
0
ファイル: frm_MainC.cs プロジェクト: doksec/bykom_dahuaDotNet
 /// <summary>
 /// [设备用户注销]按钮按下
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnUserLogout_Click(object sender, EventArgs e)
 {
     try
     {
         bool result = DHClient.DHLogout(pLoginID);
         if (result == false)
         {
             //报最后一次操作的错误信息
             MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
         }
         picRealPlay0.Refresh();
         picRealPlay1.Refresh();
         picRealPlay2.Refresh();
         picRealPlay3.Refresh();
         picRealPlay4.Refresh();
         picRealPlay5.Refresh();
         picRealPlay6.Refresh();
         picRealPlay7.Refresh();
         if (picRealPlay != null)
         {
             picRealPlay.Refresh();
         }
         //画面初期化
         this.Controls.Clear();
         InitializeComponent();
         Utility.StringUtil.InitControlText(this);
         pLoginID = 0;
         fileInfo = new NET_RECORDFILE_INFO();
         playBy = 0;
         pRealPlayHandle = new int[16];
         pPlayBackHandle = new int[16];
         pPlayBackChannelID = 0;
         deviceInfo = new NET_DEVICEINFO();
         this.WindowState = FormWindowState.Normal;
         btnRealPlay.Enabled = false;
         btnPlayBackByTime.Enabled = false;
         gpbPlayBackControl.Enabled = false;
         btnUserLogout.Enabled = false;
         btnRealPlay.Text = StringUtil.ConvertString("RealPlay");
         btnPlayByRecordFile.Enabled = false;
         gpbPlayBackControl.Enabled = false;
         gpbPTZControl.Enabled = false;
     }
     catch
     {
         MessageBox.Show("设备用户注销失败!", pMsgTitle);                
     }
 }
コード例 #10
0
ファイル: frm_MainC.cs プロジェクト: doksec/bykom_dahuaDotNet
 /// <summary>
 /// [设备用户登录]按钮按下
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnUserLogin_Click(object sender, EventArgs e)
 {
     frm_AddDevice fAddDev = new frm_AddDevice();
     fAddDev.ShowDialog();
     //DHClient.DHSetShowException(true);
     try
     {
         if (fAddDev.blnOKEnter == true)
         {
             //设备用户信息获得
             deviceInfo = new NET_DEVICEINFO();
             int error = 0;
             pLoginID = DHClient.DHLogin(fAddDev.cmbDevIP.Text.ToString(), ushort.Parse(fAddDev.txtDevProt.Text.ToString()),fAddDev.txtName.Text.ToString(), fAddDev.txtPassword.Text.ToString(), out deviceInfo, out error);
             if (pLoginID != 0)
             {
                 pPlayBackHandle = new int[deviceInfo.byChanNum];
                 //画面按钮有效性控制
                 pRealPlayHandle = null;
                 btnRealPlay.Text = StringUtil.ConvertString("RealPlay");
                 btnUserLogin.Enabled = false;
                 btnRealPlay.Enabled = true;
                 btnPlayBackByTime.Enabled = true;
                 gpbPlayBackControl.Enabled = false;
                 btnUserLogout.Enabled = true;
                 gpbPTZControl.Enabled = false;
                 btnPlayByRecordFile.Enabled = true;
                 cmbChannelSelect.Items.Clear();
                 for (int i = 0; i < deviceInfo.byChanNum; i++)
                 {
                     cmbChannelSelect.Items.Add(i.ToString());
                 }
             }
             else
             { 
                 MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle),pMsgTitle);
                 btnUserLogin_Click(null, null);                        
             }
         }
     }
     catch
     {
         //报最后一次操作的错误信息
         MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
         btnUserLogin_Click(null, null);
     }
 }
コード例 #11
0
ファイル: frm_Main.cs プロジェクト: doksec/bykom_dahuaDotNet
        /// <summary>
        /// 用户登录按钮按下
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUserLogin_Click(object sender, EventArgs e)
        {
            string strLogin = StringUtil.ConvertString("设备用户登录");
            string strLogout = StringUtil.ConvertString("设备用户注销");

            if (btnUserLogin.Text.Equals(strLogin))
            {
                frm_AddDevice fadFrom = new frm_AddDevice();
                fadFrom.ShowDialog();
                if (fadFrom.blnOKEnter == true)
                {
                    //设备用户信息获得
                    NET_DEVICEINFO deviceInfo = new NET_DEVICEINFO();
                    int error = 0;
                    pLoginID = DHClient.DHLogin(fadFrom.cmbDevIP.Text.ToString(), ushort.Parse(fadFrom.txtDevProt.Text.ToString()), fadFrom.txtName.Text.ToString(), fadFrom.txtPassword.Text.ToString(), out deviceInfo, out error);
                    if (pLoginID != 0)
                    {
                        btnUserLogin.BackColor = Color.Yellow;
                        btnUserLogin.Text = strLogout;
                        grbMain.Enabled = true;
                        tbcMain.SelectedIndex = 0;
                    }
                    else
                    {
                        //报最后一次操作的错误信息
                        MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
                        btnUserLogin_Click(null, null);
                    }
                }
            }
            else
            {
                bool result = DHClient.DHLogout(pLoginID);
                if (result == false)
                {
                    //报最后一次操作的错误信息
                    MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
                }

                //画面初始化
                this.Controls.Clear();
                InitializeComponent();
                pLoginID = 0;
                sysAttrConfig = new DHDEV_SYSTEM_ATTR_CFG();
                channelConfig = new DHDEV_CHANNEL_CFG[16];
                netConfig = new DHDEV_NET_CFG();
                recConfig = new DHDEV_RECORD_CFG[16];
                commConfig = new DHDEV_COMM_CFG();
                alarmAllConfig = new DHDEV_ALARM_SCHEDULE();
                btnUserLogin.BackColor = Color.Transparent;
                btnUserLogin.Text = strLogin;
                grbMain.Enabled = false;
                tbcMain.SelectedIndex = 0;
            }
        }
コード例 #12
0
ファイル: frm_Main.cs プロジェクト: dalinhuang/demodemo
        /// <summary>
        /// 设备用户登录/注销处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUserLogin_Click(object sender, EventArgs e)
        {
            switch (btnUserLogin.Text)
            {
                case "设备用户登录":
                    frm_AddDevice fLogin = new frm_AddDevice();
                    fLogin.ShowDialog();
                    if (fLogin.blnOKEnter == true)
                    {
                        //设备用户信息获得
                        NET_DEVICEINFO deviceInfo = new NET_DEVICEINFO();

                        int error = 0;
                        //设备用户登录
                        pLoginID = DHClient.DHLogin(fLogin.cmbDevIP.Text.ToString(), ushort.Parse(fLogin.txtDevProt.Text.ToString()), fLogin.txtName.Text.ToString(), fLogin.txtPassword.Text.ToString(), out deviceInfo, out error);
                        if (pLoginID != 0)
                        {
                            btnUserLogin.BackColor = Color.Yellow;
                            btnUserLogin.Text = "设备用户注销";
                            grpMain.Enabled = true;
                            //读取用户信息
                            GetUserInfo(pLoginID, ref userManageInfo, 3000);
                            //设置消息回调函数
                            DHClient.DHSetDVRMessCallBack(msgCallBack, IntPtr.Zero);
                            //开始侦听
                            if (DHClient.DHStartListen(pLoginID) == true)
                            {
                                timeDisplayAlarmInfo.Enabled = true;
                            }
                            else
                            {
                                timeDisplayAlarmInfo.Enabled = false;
                            }
                        }
                    }
                    break;
                case "设备用户注销":
                    bool result = DHClient.DHLogout(pLoginID);
                    if (result == false)
                    {
                        //报最后一次操作的错误信息
                        MessageBox.Show(DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
                    }

                    //画面初期化
                    timeDisplayAlarmInfo.Enabled = false;
                    this.Controls.Clear();
                    InitializeComponent();
                    pLoginID = 0;
                    userManageInfo = new USER_MANAGE_INFO();
                    clientState = new NET_CLIENT_STATE();
                    AlarmAudio = new byte[16];
                    AlarmDiskErr = new byte[32];//DVR最大可挂32块硬盘,每一位表示一个硬盘的状态,0:硬盘状态正常;1:硬盘出错
                    AlarmDiskFull = false;
                    AlarmShelter = new byte[16];
                    ActiveUserID = 0;
                    ActiveGroupID = 0;
                    ActiveGroupIndex = 0;
                    ActiveUserIndex = 0;
                    btnUserLogin.BackColor = Color.Transparent;
                    btnUserLogin.Text = "设备用户登录";
                    grpMain.Enabled = false;
                    this.WindowState = FormWindowState.Normal;
                    break;
            }
        }
コード例 #13
0
 private static extern int CLIENT_LoginEx(string pchDVRIP, ushort wDVRPort, string pchUserName, string pchPassword, int nSpecCap, string pCapParam, out NET_DEVICEINFO lpDeviceInfo, out int error);
コード例 #14
0
 /// <summary>
 /// 注册用户到设备的扩展接口,支持一个用户指定设备支持的能力
 /// </summary>
 /// <param name="pchDVRIP">设备IP</param>
 /// <param name="wDVRPort">设备端口</param>
 /// <param name="pchUserName">用户名</param>
 /// <param name="pchPassword">用户密码</param>
 /// <param name="nSpecCap">设备支持的能力,值为2表示主动侦听模式下的用户登录。[车载dvr登录]</param>
 /// <param name="pCapParam">对nSpecCap 的补充参数, nSpecCap = 2时,pCapParam填充设备序列号字串。[车载dvr登录]</param>
 /// <param name="lpDeviceInfo">设备信息,属于输出参数</param>
 /// <param name="error">返回登录错误码</param>
 /// <returns>失败返回0,成功返回设备ID</returns>
 public static int DHLogin(string pchDVRIP, ushort wDVRPort, string pchUserName, string pchPassword, int nSpecCap, string pCapParam, out NET_DEVICEINFO lpDeviceInfo, out int error)
 {
     int result = CLIENT_LoginEx(pchDVRIP, wDVRPort, pchUserName, pchPassword, nSpecCap, pCapParam, out lpDeviceInfo, out error);
     DHThrowLastError(result);
     return result;
 }