/// <summary> /// 端口数据接收 /// </summary> /// <param name="param"></param> private void SerialPortDataReceived(ParsingParameter param) { if (!PortHelper.IsConnection) { return; } if (PortHelper.CurrentForm != this) { return; } this.Invoke(new EventHandler(delegate { try { if (param.FunctionAddress == 66) { long result = DataParsing.TemporaryContent(param.DataContent); switch (param.Command) { case 204: if (result == 0) { DisplayContent("临时 IC 卡加载成功。", Color.Black); } else { DisplayContent("临时 IC 卡加载失败,请确认旧密码是否正确或IC 卡是否放置在读写区域内。"); } SetDeviceNewPassword(); IsEnd = true; break; case 221: if (!IsEnd) { if (result == 0) { DisplayContent("临时 IC 设备初始化成功。", Color.Black); PortHelper.SerialPortWrite(PortAgreement.GetTemporaryICEncryption(Dal_IcDevicePwd.TempIcDevicePassword.Pwd)); } else { DisplayContent("临时 IC 设备初始化失败。"); p_Top.Enabled = true; } } else { if (result != 0) { SetDeviceNewPassword(); } else { p_Top.Enabled = true; } } break; } } } catch (Exception ex) { CustomExceptionHandler.GetExceptionMessage(ex); MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } })); }