コード例 #1
0
ファイル: ICCard.cs プロジェクト: wwkkww1983/ZiChang_PlatForm
        void  ReadBlockDataEvent(object sender, EventArgs e)
        {
            try
            {
                ulong uFactoryCode = 0;
                _strReadBlockData = "";
                RWCard.rf_card(_iPonter, 0, ref uFactoryCode);
                if (uFactoryCode != 0)
                {
                    if ((_FactoryCode == string.Empty) || (uFactoryCode.ToString() != _FactoryCode))
                    {
                        tmTrick.Stop();
                        int iSec = _iBlock / 4;
                        RWCard.rf_load_key_hex(_iPonter, 0, Convert.ToInt16(iSec), _strPassWordA); //加载A密码
                        RWCard.rf_load_key_hex(_iPonter, 4, Convert.ToInt16(iSec), _strPassWordB); //加载B密码
                        int i = RWCard.rf_authentication(_iPonter, 0, Convert.ToInt16(iSec));      //验证密码
                        if (i == 0)
                        {
                            byte[] bytData = new byte[32];
                            i = RWCard.rf_read_hex(_iPonter, Convert.ToInt16(_iBlock), bytData);//读取_iBlock块区中的数据

                            if (i == 0)
                            {
                                _strReadBlockData = DecConverString(bytData);
                                _FactoryCode      = uFactoryCode.ToString();
                                _iValid           = 1; //读取成功
                                SetUIValue(sender, e);
                            }
                            else
                            {
                                _iValid = 0;  //读取失败
                            }
                        }
                        else
                        {
                            _iValid = -1; //密码验证失败
                        }
                    }
                }
                else
                {
                    _iValid = -2; //未寻到卡
                }
                tmTrick.Start();
            }
            catch (Exception ex)
            {
                Log.WriteLog("IC卡读写控件-读卡", ex);
            }
        }