1. 程式人生 > >德卡Z90讀卡器讀取社保卡,德卡Z90讀卡器CSharp示例程序源碼

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

輸出 bool 轉載 調用 通用 相關 AR 識別碼 str

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

  一,準備工作:

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

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

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

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

技術分享圖片

二,C#讀卡類

/// <summary>
    /// 德卡讀卡器專用類
    /// mail:[email protected]
    /// </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

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