使用:

[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadMsg", CharSet = CharSet.Ansi)]public static extern int Syn_ReadMsg(int iPortID, int iIfOpen, ref IDCardData pIDCardData);

Syn_ReadBaseMsg 虽然不存在资源释放问题,但处理照片信息十分麻烦。

Syn_ReadMsg返回结构化信息,处理方便,但在其它线程中处理图片,直接使用图片报写入受保护内存。此问题处理方式分两步:

  1. 管理员方式运行;
  2. 先将图片复制到临时文件夹,再使用。

    一.使用管理员方式运行VS。
    项目中 添加应用程序清单文件:

打开app.manifest文件,将:

<requestedExecutionLevel  level="asInvoker" uiAccess="false" />

修改为:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

然后打开 项目属性 ,将 应用程序 标签页中的 资源 中的 清单 修改为新建的 app.manifest。

重新生成项目
二.

     //设置路径及返回参数格式private void Setter(){if (!System.IO.Directory.Exists(BaseConfig.SavePathPhoto))System.IO.Directory.CreateDirectory(BaseConfig.SavePathPhoto);if (!System.IO.Directory.Exists(BaseConfig.SavePathPhoto+"\\tmp"))System.IO.Directory.CreateDirectory(BaseConfig.SavePathPhoto+"\\tmp");//临时文件夹if (!System.IO.Directory.Exists(BaseConfig.SavePath))System.IO.Directory.CreateDirectory(BaseConfig.SavePath);player.LoadAsync();byte[] cPath = new byte[255];cPath = System.Text.Encoding.Default.GetBytes(BaseConfig.SavePathPhoto);Syn_SetPhotoPath(2, ref cPath[0]);// Syn_SetPhotoType(1);Syn_SetPhotoName(3);Syn_SetSexType(1);Syn_SetNationType(2);Syn_SetBornType(2);Syn_SetUserLifeBType(2);Syn_SetUserLifeEType(2,0);}

            //删除临时文件夹的照片try{string[] files = Directory.GetFiles(BaseConfig.SavePathPhoto + "\\tmp");foreach (var f in files){try{File.Delete(f);}catch { }}}if(Syn_ReadMsg(BaseConfig.NPort, 0, ref CardMsg) == 0){Name.Text = CardMsg.Name.Trim();Sex.Text = CardMsg.Sex;Nation.Text = CardMsg.Nation;Born.Text = CardMsg.Born;Address.Text = CardMsg.Address;ID.Text = CardMsg.IDCardNo;GrantDept.Text = CardMsg.GrantDept;UserLifeBegin.Text = CardMsg.UserLifeBegin;Link.Text = "--";UserLifeEnd.Text = CardMsg.UserLifeEnd;
//先将图片复制到临时文件夹,再显示string fileName = System.IO.Path.Combine(BaseConfig.SavePathPhoto, string.Format("{0}_{1}.bmp", CardMsg.Name.Trim(), CardMsg.IDCardNo));string newFileName = string.Format("{0}_{1}_{2}.bmp", Guid.NewGuid().ToString(), CardMsg.Name.Trim(), CardMsg.IDCardNo);string newPath = System.IO.Path.Combine(BaseConfig.SavePathPhoto, "tmp", newFileName);File.Copy(fileName, newPath);fileNameForUpdate = newPath;photo.Source = new BitmapImage(new Uri(newPath, UriKind.Absolute));}

身份证阅读器(新中新)写入受保护内存问题,已解决相关推荐

  1. 新中新身份证阅读器不显示图片

    USB接口的新中新身份证阅读器使用过程中,出现读卡不显示图片,以及刷卡多次后,软件自动关闭的现象.使人很苦恼,经过我的反复测试,现在提供解决方法如下: 1.下载动态库链接文件"WltRS&q ...

  2. 新中新二代身份证dll调用,报尝试读取或写入受保护的内存,这通常指示其他内存已损坏 这个错 ...

    新中新二代身份证dll调用问题:调用这个dll时, 到这个方法: Syn_ReadMsg(nPort, 0, ref CardMsg),就报尝试读取或写入受保护的内存.这通常指示其他内存已损坏 这个错 ...

  3. c# 新中新二代身份证阅读,包含头像,支持华视

    需要用到dll和文件: 其中3个dll文件是需要调用的dll,license.dat文件为解压图片的授权文件 以下是需要用到的dll里面的方法: /************************端口 ...

  4. 新中新SDK 身份证代码编写

    新中新二代证阅读器广东服务中心主要经营新中新身份证阅读器,新中新身份证读卡器,新中新二代身份证阅读器,新中新二代身份证读卡器等.请认准新中新二代证阅读器网址:www.synjones.net.cn 新 ...

  5. 关于新中新二代身份证读卡器DKQ-A16D的一些问题

    今天拿到了新中新DKQ-A16D,随机光盘里有以下文件: 我遇到的问题是,如果直接打开\二代征SDK开发包\DLL\测试程序\C#_2008\WindowsFormsApplication1\目录下的 ...

  6. python能调用身份证读卡器吗_用Python在Linux下调用新中新DKQ-A16D读卡器,读二代证数据...

    1.背景 最近在研究二代证读卡器,手头上的设备是新中新DKQ-A16D,在官网(https://www.onecardok.com.cn/download)逛了一圈,发现Win下的示例,浏览器插件很多 ...

  7. VUE实现华视身份证阅读器读取身份证信息(本文分两种情况,第一中是点击按钮读取信息,一种是自动读取信息)

    本文是用了vue+element来实现华视身份证读卡器读取身份信息的,当然在开发之前要做好前提准备,就是厂家提供对应设备的api和安装对应的驱动.本文通过两种方法来实现读取信息,第一种是点击按钮读取信 ...

  8. 新中新二代身份证读卡Syn_ReadBaseMsg方法

    新中新二代身份证读卡器dkq-a16d,在C#中读卡开发时,参考随机附带的C#参考代码,能够读取成功,但读几次程序就莫名其妙的关掉了,有时连错误都捕捉不到,搞了很长时间也没搞定,后来以为会不会是win ...

  9. 新中新DKQ-A16D身份证读卡器C#对接程序出坑记

    搞了很久,终于把这件事搞定了.说来郁闷,最近做一个小项目,用了新中新电子的DKQ-A16D身份证读卡设备,需要编程实现身份证数据的读取,这种东西其实是套路感很强的东西,问供应商拿到API,有问题找客服 ...

最新文章

  1. SynchronizedMap和ConcurrentHashMap的深入分析
  2. Spring框架中bean的生命周期
  3. 全球及中国氰化金钾行业需求潜力及供应前景调研报告2022-2027年
  4. 从零开始学习jQuery (九) jQuery工具函数 【转】
  5. 指针,指针函数,指针数组的区别
  6. 广东48.6万人资产超600万 华东超600万人群最多
  7. linux 下载mysql5.7.22
  8. java类输出_java的输出类
  9. ETH突破620美元关口 日内涨幅为5.36%
  10. Java暑期实训——简易计算器
  11. filezilla linux服务器端,FileZilla Server安装配置教程
  12. 当你觉得焦虑,烦躁的时候怎么办?
  13. python用*号输出字母c的图案_第1.6题:使用Python生成字母验证码图片
  14. SGD的几种优化加速模型动态图形显示
  15. bzoj4605: 崂山白花蛇草水(权值线段树套k-dtree)
  16. Bluetooth SIG定义的标准Characteristics UUID
  17. Caffe中常用的层:Dropout层详解
  18. 经济学人翻译练习——加拿大自由党政府试图提振经济4.16
  19. (私人收藏)灰蓝绿3种风格的套图图标
  20. 一起来学k8s 06.安装dashboard

热门文章

  1. 数据结构实验+理解1 基于c++的二叉树函数实现
  2. 求是追梦--------一位计算机专业硕士毕业生的求职经历和感想
  3. 带你一起Piu Piu Piu
  4. 《算法交易与套利交易》
  5. 【解决方案】EasyNVR海量安防设备接入实时直播+云端(服务器)录像的实现
  6. TOJ 3778.Sheldon's Friendship II
  7. 计算机图形学五:几何-Geometry
  8. 阿里巴巴2014校园招聘算法题
  9. 如何理解逻辑回归中的似然函数
  10. excel 常用的函数