zoukankan      html  css  js  c++  java
  • 关于一台机器运行两个身份证读卡器模块(总结)

    因为业务需要,需要在机器上运行两个身份证读卡器,一个使用USB口,一个是用的串口需要严格区分。

    程序中我用的是两个线程,也许会有别的更好的方法。

    1、一开始发现两个读卡器用dll库文件是一样的,所以就统一放在了程序运行根目录下,结果发现程序运行起来后两个读卡器无法正常运行

      经过尝试,把两个读卡器对应的dll库分别放在文件夹里,然后采用绝对路径引用,比如

    [DllImport(@"..zhongkong	ermb.dll", CallingConvention = CallingConvention.StdCall)]

    2、至于具体如何进行读卡,可以参考身份证读卡器家的实例

    3、关于wz.txt,zp.bmp文件

    一开始因为参考文档中解释的是这些文件会自动生成程序根目录中,也就是可执行文件所在目录,所以并没有在意,结果测试过程中发现使用USB读卡的可以正常读取身份证号,而串口呢个却不能

    经过不断测试发现,采用USB读卡的(我用的是神思),这些文件是生成在生成程序根目录,每次读卡可以正确刷新。而使用串口读卡的(中控)的文件是生成在dll文件所在的目录里,并没有在程序根目录里,所以解析的时候要注意一下引用路径。

            private void ZKsetName()
            {
                string filename =@"..zhongkongwz.txt";
                FileStream fs = new FileStream(filename, FileMode.Open);
                StreamReader sr = new StreamReader(fs, System.Text.Encoding.Unicode);
                string filecontent = sr.ReadToEnd();
                sr.Close();
                fs.Close();
    
                //解析身份证证号
                string strID = filecontent.Substring(61, 18);//IDNumber                     
                Shenfenzhenghao = strID;
            }
  • 相关阅读:
    项目目标文档
    河北省民间组织管理系统项目分析
    《探索需求》读书笔记一
    “花儿日记”项目总结
    2015年秋季个人阅读计划
    场景调研
    “数组最大值求和”结对情况
    课堂改进意见
    《梦断代码》阅读笔记三
    linux io 学习笔记(03)---共享内存,信号灯,消息队列
  • 原文地址:https://www.cnblogs.com/congcongdi/p/9086755.html
Copyright © 2011-2022 走看看