예제 #1
0
        private string[] AppId    = new string[] { "CT-PT-31600", "CT-PT-31600-PC" };//长度为2

        private void find_Dog()
        {
            //加密狗的处理;
            //找狗
            for (int i = 0; i < 2; ++i)
            {
                Rtn = NT158App.NT158Find(AppId[i], out keyHandles, ref keyNum);
                if (Rtn != 0)
                {
                    //MessageBox.Show("Not Find NT158Key Error = " + Rtn);
                }
                else
                {
                    int UserPin1 = -2087732841;
                    int UserPin2 = 1648569370;
                    int UserPin3 = 1489046975;
                    int UserPin4 = 676158292;

                    Rtn = NT158App.NT158Login(keyHandles[0], UserPin1, UserPin2, UserPin3, UserPin4);
                    if (Rtn != 0)
                    {
                        // MessageBox.Show("Login Error =" + Rtn);
                    }
                    else
                    {
                        return;//找到狗
                    }
                }
            }
        }
예제 #2
0
        private void LoadKeys()
        {
            try
            {
                _selectedDogClass    = null;
                panelPrivate.Enabled = false;
                dogListTree.Nodes[0].Nodes.Clear();
                string appId = this.tbAppID.Text.Trim();
                long[] keyHandles;
                long   keyNum = 0;
                long   ret    = NT158App.NT158Find(appId, out keyHandles, ref keyNum);
                if (ret == 0)//成功
                {
                    for (int i = 0; i < keyNum; i++)
                    {
                        try
                        {
                            DogClass dogobj = new DogClass();
                            dogobj.appId     = appId;
                            dogobj.keyHandle = keyHandles[i];
                            string uid = "";
                            ret = NT158App.NT158GetUid(keyHandles[i], ref uid);
                            if (ret != 0)
                            {
                                uid = "获取失败:" + GetError(ret);
                            }
                            dogobj.uid = uid;

                            Node node = new Node("NT158_" + (i + 1));
                            node.Tag = dogobj;
                            Node appIdNode = new Node("识别码:" + dogobj.appId);
                            node.Nodes.Add(appIdNode);
                            Node uidNode = new Node("硬件序列号:" + dogobj.uid);
                            node.Nodes.Add(uidNode);
                            dogListTree.Nodes[0].Nodes.Add(node);
                        }
                        catch (Exception ex)
                        {
                            log.Error(keyHandles[i] + "加载异常:", ex);
                            MessageBox.Show(keyHandles[i] + "加载异常:" + ex.Message);
                        }
                    }
                    dogListTree.Nodes[0].Expand();
                }
                else//失败,或未找到
                {
                    MessageBox.Show("未找到任何加密狗设备,错误:" + GetError(ret));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("查找设备异常:" + ex.Message);
                log.Error("查找设备异常:", ex);
            }
        }
예제 #3
0
파일: Class1.cs 프로젝트: 15831944/BDC
        public void ExpJzd()
        {
#if DEBUG
            ExportTools.ExpJzd2Shp();
#else
            NT158App ntapp = new NT158App();
            if (!ntapp.Authenticated())
            {
                return;
            }

            ExportTools.ExpJzd2Shp();
#endif
        }
예제 #4
0
파일: Class1.cs 프로젝트: 15831944/BDC
        public void XTSZ()
        {
#if DEBUG
            SysTemSet.XTSZ XT = new SysTemSet.XTSZ();
            XT.ShowDialog();
#else
            NT158App ntapp = new NT158App();
            if (!ntapp.Authenticated())
            {
                return;
            }

            SysTemSet.XTSZ XT = new SysTemSet.XTSZ();
            XT.ShowDialog();
#endif
        }
예제 #5
0
파일: Class1.cs 프로젝트: 15831944/BDC
        public void SZZD()
        {
#if DEBUG
            DataDic XT = new DataDic();
            XT.ShowDialog();
#else
            NT158App ntapp = new NT158App();
            if (!ntapp.Authenticated())
            {
                return;
            }

            DataDic XT = new DataDic();
            XT.ShowDialog();
#endif
        }
예제 #6
0
        public static bool GetDotTime(out DateTime dtStart, out DateTime dtEnd)
        {
            dtStart = DateTime.MinValue;
            dtEnd   = DateTime.MinValue;
            try
            {
                if (hasError)
                {
                    return(false);
                }
                byte[] buffer = new byte[19];
                long   ret    = NT158App.NT158ReadFile(handle, 0, 128 + 19, buffer);
                if (ret != 0)
                {
                    log.Error("读取时间1异常:" + GetError(ret));
                    return(false);
                }
                if (!DateTime.TryParse(Encoding.UTF8.GetString(buffer), out dtStart))
                {
                    log.Error("时间1异常:" + GetError(ret));
                    return(false);
                }

                ret = NT158App.NT158ReadFile(handle, 0, 128 + 2 * 19, buffer);
                if (ret != 0)
                {
                    log.Error("读取时间2异常:" + GetError(ret));
                    return(false);
                }
                if (!DateTime.TryParse(Encoding.UTF8.GetString(buffer), out dtEnd))
                {
                    log.Error("时间2异常:" + ret);
                    return(false);
                }
                return(true);
            }
            catch (System.Exception ex)
            {
                log.Error("读取时间异常:", ex);
                return(false);
            }
        }
예제 #7
0
 private void dogListTree_NodeClick(object sender, TreeNodeMouseEventArgs e)
 {
     try
     {
         if (e.Node.Tag is DogClass)
         {
             DogClass dc = (DogClass)e.Node.Tag;
             long     pin1, pin2, pin3, pin4;
             if (long.TryParse(tbPin1.Text.Trim(), out pin1) &&
                 long.TryParse(tbPin2.Text.Trim(), out pin2) &&
                 long.TryParse(tbPin3.Text.Trim(), out pin3) &&
                 long.TryParse(tbPin4.Text.Trim(), out pin4))
             {
                 long ret = NT158App.NT158Login(dc.keyHandle, pin1, pin2, pin3, pin4);
                 if (ret != 0)
                 {
                     log.Error("登陆加密狗异常:" + GetError(ret));
                     MessageBox.Show("登陆加密狗异常:" + GetError(ret));
                     return;
                 }
                 panelPrivate.Enabled = true;
                 _selectedDogClass    = dc;
                 lbDevNo.Text         = _selectedDogClass.uid;
                 DoReadPrivate();
             }
             else
             {
                 MessageBox.Show("密钥格式必须为long数据!");
             }
         }
         else
         {
             panelPrivate.Enabled = false;
         }
     }
     catch (Exception ex)
     {
         log.Error("执行操作异常:", ex);
         MessageBox.Show("执行操作异常:" + ex.Message);
     }
 }
예제 #8
0
        public static bool Login()
        {
            try
            {
                try
                {
                    if (handle != -1)
                    {
                        NT158App.NT158Logout(handle);
                        handle = -1;
                    }
                }
                catch (Exception)
                {
                }

                long[] keyHandles;
                long   keyNum = 0;
                long   ret    = NT158App.NT158Find(appid, out keyHandles, ref keyNum);
                if (ret != 0 || keyNum <= 0)
                {
                    log.Error("加密狗加载错误:" + ret);
                    return(false);
                }
                handle = keyHandles[0];
                ret    = NT158App.NT158Login(handle, pin1, pin2, pin3, pin4);
                NT158App.NT158Led(handle, 1);
                if (ret != 0)
                {
                    log.Error("加密狗登陆错误:" + GetError(ret));
                    return(false);
                }
                return(true);
            }
            catch (Exception ex)
            {
                log.Error("加密狗加载异常:", ex);
                return(false);
            }
        }
예제 #9
0
파일: Class1.cs 프로젝트: 15831944/BDC
        public void TXCL()
        {
#if DEBUG
            PaletteSet          ps          = new PaletteSet("处理工具");
            Dijicltools         dijicltools = new Dijicltools();
            System.Drawing.Size size        = new System.Drawing.Size(255, 612);
            ps.Size = size;
            ps.Add("处理工具", dijicltools);
            ps.Visible = true;

            ps2.Add("错误列表", cwxx);
            ps2.Visible = true;
            System.Drawing.Size size2 = new System.Drawing.Size(521, 143);
            ps2.Size = size2;
            ps2.Dock = DockSides.Bottom;
#else
            NT158App ntapp = new NT158App();
            if (!ntapp.Authenticated())
            {
                return;
            }

            PaletteSet          ps          = new PaletteSet("处理工具");
            Dijicltools         dijicltools = new Dijicltools();
            System.Drawing.Size size        = new System.Drawing.Size(255, 612);
            ps.Size = size;
            ps.Add("处理工具", dijicltools);
            ps.Visible = true;

            ps2.Add("错误列表", cwxx);
            ps2.Visible = true;
            System.Drawing.Size size2 = new System.Drawing.Size(521, 143);
            ps2.Size = size2;
            ps2.Dock = DockSides.Bottom;
#endif
        }
예제 #10
0
파일: Class1.cs 프로젝트: 15831944/BDC
        public void Overlay()
        {
#if DEBUG
            PaletteSet          ps     = new PaletteSet("侵占基本农田分析");
            Analysing.Overlay   JBNTJC = new Analysing.Overlay();
            System.Drawing.Size size   = new System.Drawing.Size(268, 600);
            ps.Size = size;
            ps.Add("侵占基本农田分析", JBNTJC);
            ps.Visible = true;
#else
            NT158App ntapp = new NT158App();
            if (!ntapp.Authenticated())
            {
                return;
            }

            PaletteSet          ps     = new PaletteSet("侵占基本农田分析");
            Analysing.Overlay   JBNTJC = new Analysing.Overlay();
            System.Drawing.Size size   = new System.Drawing.Size(268, 600);
            ps.Size = size;
            ps.Add("侵占基本农田分析", JBNTJC);
            ps.Visible = true;
#endif
        }
예제 #11
0
파일: Class1.cs 프로젝트: 15831944/BDC
        public void FWSX()
        {
#if DEBUG
            PaletteSet          ps   = new PaletteSet("赋房屋属性");
            DCB.FWDC            FWDC = new DCB.FWDC();
            System.Drawing.Size size = new System.Drawing.Size(417, 541);
            ps.Size = size;
            ps.Add("赋房屋属性", FWDC);
            ps.Visible = true;
#else
            NT158App ntapp = new NT158App();
            if (!ntapp.Authenticated())
            {
                return;
            }

            PaletteSet          ps   = new PaletteSet("赋房屋属性");
            DCB.FWDC            FWDC = new DCB.FWDC();
            System.Drawing.Size size = new System.Drawing.Size(417, 541);
            ps.Size = size;
            ps.Add("赋房屋属性", FWDC);
            ps.Visible = true;
#endif
        }
예제 #12
0
파일: Class1.cs 프로젝트: 15831944/BDC
        public void dcb()
        {
#if DEBUG
            PaletteSet          ps          = new PaletteSet("信息输入输出");
            DCB.DCB_JBB         dijicltools = new DCB.DCB_JBB();
            System.Drawing.Size size        = new System.Drawing.Size(658, 650);
            ps.Size = size;
            ps.Add("信息输入输出", dijicltools);
            ps.Visible = true;

            ps2.Add("错误列表", cwxx);
            ps2.Visible = true;
            System.Drawing.Size size2 = new System.Drawing.Size(521, 143);
            ps2.Size = size2;
            ps2.Dock = DockSides.Bottom;
#else
            NT158App ntapp = new NT158App();
            if (!ntapp.Authenticated())
            {
                return;
            }

            PaletteSet          ps          = new PaletteSet("信息输入输出");
            DCB.DCB_JBB         dijicltools = new DCB.DCB_JBB();
            System.Drawing.Size size        = new System.Drawing.Size(658, 650);
            ps.Size = size;
            ps.Add("信息输入输出", dijicltools);
            ps.Visible = true;

            ps2.Add("错误列表", cwxx);
            ps2.Visible = true;
            System.Drawing.Size size2 = new System.Drawing.Size(521, 143);
            ps2.Size = size2;
            ps2.Dock = DockSides.Bottom;
#endif
        }
예제 #13
0
        //写入权限
        private bool DoWritePrivate(bool isclear = false)
        {
            //设置加密狗身份名称
            byte[] nameBuffer = new byte[128];
            string str        = tbDogName.Text.Trim();

            if (isclear)
            {
                str = "";
            }
            var t = Encoding.UTF8.GetBytes(str);

            DoCopyArray(t, nameBuffer);
            long ret = NT158App.NT158WriteFile(_selectedDogClass.keyHandle, 0, 0, nameBuffer);

            if (ret != 0)
            {
                if (isclear)
                {
                    log.Error("清除名称异常:" + GetError(ret));
                    MessageBox.Show("清除名称异常:" + GetError(ret));
                }
                else
                {
                    log.Error("设置加密狗身份名称异常:" + GetError(ret));
                    MessageBox.Show("设置加密狗身份名称异常:" + GetError(ret));
                }
            }

            byte[] setTimeBuffer = Encoding.UTF8.GetBytes(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            ret = NT158App.NT158WriteFile(_selectedDogClass.keyHandle, 0, 128, setTimeBuffer);//设置授权时间
            if (ret != 0)
            {
                if (isclear)
                {
                    log.Error("设置最后一次清除时间异常:" + GetError(ret));
                    MessageBox.Show("设置最后一次清除时间异常:" + GetError(ret));
                }
                else
                {
                    log.Error("设置最后一次授权时间异常:" + GetError(ret));
                    MessageBox.Show("设置最后一次授权时间异常:" + GetError(ret));
                }
            }
            DateTime dtStart = dtiStartTime.Value;

            if (isclear)
            {
                dtStart = DateTime.MinValue;
            }
            byte[] starttime = Encoding.UTF8.GetBytes(dtStart.ToString("yyyy-MM-dd HH:mm:ss"));
            ret = NT158App.NT158WriteFile(_selectedDogClass.keyHandle, 0, 128 + 19, starttime);//设置有效开始时间
            if (ret != 0)
            {
                if (isclear)
                {
                    log.Error("清除有效开始时间异常:" + GetError(ret));
                    MessageBox.Show("清除有效开始时间异常:" + GetError(ret));
                    return(false);
                }
                else
                {
                    log.Error("设置有效开始时间异常:" + GetError(ret));
                    MessageBox.Show("设置有效开始时间异常:" + GetError(ret));
                    return(false);
                }
            }
            DateTime dtEnd = dtiEndTime.Value;

            if (isclear)
            {
                dtEnd = DateTime.MinValue;
            }
            byte[] endtime = Encoding.UTF8.GetBytes(dtEnd.ToString("yyyy-MM-dd HH:mm:ss"));
            ret = NT158App.NT158WriteFile(_selectedDogClass.keyHandle, 0, 128 + 19 * 2, endtime);//设置有效开始时间
            if (ret != 0)
            {
                if (isclear)
                {
                    log.Error("清除有效结束时间异常:" + GetError(ret));
                    MessageBox.Show("清除有效结束时间异常:" + GetError(ret));
                    return(false);
                }
                else
                {
                    log.Error("设置有效结束时间异常:" + GetError(ret));
                    MessageBox.Show("设置结束开始时间异常:" + GetError(ret));
                    return(false);
                }
            }
            return(true);
        }
예제 #14
0
        //读取权限
        private void DoReadPrivate()
        {
            byte[] nameBuffer = new byte[128];
            //读取加密狗身份名称
            long ret = NT158App.NT158ReadFile(_selectedDogClass.keyHandle, 0, 0, nameBuffer);

            if (ret != 0)
            {
                log.Error("读取加密狗身份名称异常:" + GetError(ret));
                MessageBox.Show("读取加密狗身份名称异常:" + GetError(ret));
                // return;
            }
            try
            {
                string str = Encoding.UTF8.GetString(nameBuffer).TrimEnd('\0');
                tbDogName.Text = str;
            }
            catch (Exception ex)
            { }

            byte[] setTimeBuffer = new byte[19];
            ret = NT158App.NT158ReadFile(_selectedDogClass.keyHandle, 0, 128, setTimeBuffer);//读取授权时间
            if (ret != 0)
            {
                log.Error("读取最后一次授权时间异常:" + GetError(ret));
                MessageBox.Show("读取最后一次授权时间异常:" + GetError(ret));
                // return;
            }
            try
            {
                string str = Encoding.UTF8.GetString(setTimeBuffer).TrimEnd('\0');
                lbTimePrivate.Text = str;
            }
            catch (Exception ex)
            { }

            byte[] starttime = new byte[19];
            ret = NT158App.NT158ReadFile(_selectedDogClass.keyHandle, 0, 128 + 19, starttime);//读取有效开始时间
            if (ret != 0)
            {
                log.Error("读取有效开始时间异常:" + GetError(ret));
                MessageBox.Show("读取有效开始时间异常:" + GetError(ret));
                // return;
            }
            try
            {
                string   str = Encoding.UTF8.GetString(starttime).TrimEnd('\0');
                DateTime dt  = DateTime.Now;
                DateTime.TryParse(str, out dt);
                dtiStartTime.Value = dt;
            }
            catch (Exception ex)
            { }

            byte[] endtime = new byte[19];
            ret = NT158App.NT158ReadFile(_selectedDogClass.keyHandle, 0, 128 + 19 * 2, endtime);//读取有效结束时间
            if (ret != 0)
            {
                log.Error("读取有效结束时间异常:" + GetError(ret));
                MessageBox.Show("读取结束开始时间异常:" + GetError(ret));
                // return;
            }
            try
            {
                string   str = Encoding.UTF8.GetString(endtime).TrimEnd('\0');
                DateTime dt  = DateTime.Now;
                DateTime.TryParse(str, out dt);
                dtiEndTime.Value = dt;
            }
            catch (Exception ex)
            { }
        }