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