德卡Z90讀卡器讀取社保卡,德卡Z90讀卡器CSharp示例程序源碼


前言,最近學習調用 醫保卡業務,使用德卡讀卡器,主要就是調用一個DLL,動態庫文件.
借着自學的機會把心得體會都記錄下來,方便感興趣的小伙伴學習與討論。
內容均系原創,歡迎大家轉載分享,但轉載的同時別忘了注明作者和原文鏈接哦。本文內容和圖片如果有侵犯您的權利,請聯系yisheng163@qq.com。

  一,准備工作:

先到德卡官網下載相關資料,下載動態庫。
http://www.decard.com/download/downloadcategoryid=10&isMode=false.html
下載 SSCardDriver.dll 動態庫。

讀卡器准備:找到一台德卡Z9讀卡器用來測試,Z9與Z90基本通用,不影響測試。

先拆開底座,把授權蕊片裝入卡槽二。

USB插頭,插入電腦USB口,任意插USB,不需要記住USB端口號,下一步讀卡也不需要設置USB端口號。

 

二,C#讀卡類

/// <summary>
    /// 德卡讀卡器專用類
    /// mail:yisheng163@qq.com
    /// </summary>
    public class SSCard
    {
        /// <summary>
        /// 德卡讀卡器專用讀卡方法,需要將SSCardDriver.dll放在程序同一目錄下
        /// </summary>
        /// <param name="iType">卡的類型,定義如下:1-接觸式操作卡;2-非接觸式操作卡;3-自動尋卡,接觸式操作卡優先;4-自動尋卡,非接觸式操作卡優先。</param>
        /// <param name="outInfo">該輸出參數為讀出的社保卡基本信息各數據項,依次為:發卡地區行政區划代碼(卡識別碼前6位)、社會保障號碼、卡號、卡識別碼、姓名、卡復位信息(僅取歷史字節)、規范版本、發卡日期、卡有效期、終端機編號、終端設備號。各數據項之間以“|”分割,且最后一個數據項以“|”結尾。</param>
        /// <returns></returns>
        [DllImport("SSCardDriver.dll", EntryPoint = "iReadCardBas")]
        public static extern int iReadCardBas(int iType, StringBuilder outInfo);

        /// <summary>
        /// 讀取社會保障號和姓名
        /// </summary>
        /// <returns></returns>
        public static string GetIDCode(ref bool CodeState, ref string ErrDesc, ref string IName, ref string ICard)
        {
            string ReStr="";

            StringBuilder myStrB=new StringBuilder(256);
            iReadCardBas(1, myStrB);
            if (myStrB != null && myStrB.ToString() != "" && myStrB.ToString().IndexOf("|") >= 0)
            {
                //讀取成功
                string[] myStringList = myStrB.ToString().Split('|');
                if (myStringList != null && myStringList.Length > 0)
                {
                    ICard = myStringList[1];
                    IName = myStringList[4];
                    CodeState = true;
                    ErrDesc = "";                    
                }
                else
                {
                    CodeState = false;
                    ErrDesc = myStrB.ToString();
                    return "";
                }
            }
            else
            {
                    CodeState = false;
                    ErrDesc = myStrB.ToString();
                    return "";
            }

            return ReStr;
        }

    }

 

 

三,調用測試。

StringBuilder myStrB = new StringBuilder(2048);
            PT.BLL.DLL.SSCard.iReadCardBas(1, myStrB);
            if (myStrB != null && myStrB.ToString() != "" && myStrB.ToString().IndexOf("|") >= 0)
            {
                textBox1.Text = "\r\n" + myStrB.ToString();
            }

 

讀卡成功。

 

 

四,示例源碼:

 德卡Z90讀卡器CSharp示例程序.rar

德卡Z90讀卡器CSharp示例程序源碼.rar

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM