‘壹’ c#身份证读卡器主动态链接库的文件名
ReadCardControl。
1、新建一个winform控件项目ReadCardControl,添加一个主类ReadIDCard。
2、声明DllImport,调用动态链接库。
3、读取显示相关的信息。
‘贰’ 我想在PB中模拟身份证读卡器,用.ini文件怎么实现,在pb程序中应该如何写代码,求教!!!谢谢!!!
读INI :ProfileString(".ini","application","id","default") // default 为 INI 中没有数据时的预设值
写INI :SetProfileString(".ini", "application", "id", "330681199212121234")
‘叁’ vc++如何读取身份证信息保存数据库
你得有个特殊的读写器,然后执行特定的指令,身份证才会返回一段信息。
‘肆’ 新中新身份证读卡器的性能指标
读卡系统 射频技术 符合ISO14443 Type B标准 开发套件 推荐平台Win98/2000/XP/Win7 保密模块 身份证核验系统专用模块 开发工具SDK支持VC/Delphi/VB/PB等 最大读卡距离 不小于5CM 电源系统 DKQ-A16D(DU)使用电脑USB口供电 读卡时间<1S DKQ-A16D(DS)使用外置5V电源供电 卡片与感应区平面最大张角70度 规格尺寸 165.5×119×34.5mm,0.8kg 工作频率13.56MHz 工作环境 工作温度:0℃~50℃ 调制方式 ASK和BSK 工作相对湿度:≤90% 校验循环冗余校验(CRC) 储运温度:-40℃~60℃ 与卡片的通讯速率 106Kbps 储运相对湿度(40℃):20%~93% 通讯接口 RS232或USB通讯接口 大气压力/KPa:60~110
‘伍’ 用C# 做一个读取身份证阅读程序
文件不全无法完成,而且身份证阅读有多个厂家。每个厂家的SDK包都不一样。
下面只是个简单的例子,作参考
//首先,声明通用接口
[DllImport("sdtapi.dll")]
public static extern int SDT_OpenPort(int iPortID);
[DllImport("sdtapi.dll")]
public static extern int SDT_ClosePort(int iPortID);
[DllImport("sdtapi.dll")]
public static extern int SDT_PowerManagerBegin(int iPortID, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_AddSAMUser(int iPortID, string pcUserName, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_SAMLogin(int iPortID, string pcUserName, string pcPasswd, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_SAMLogout(int iPortID, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_UserManagerOK(int iPortID, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_ChangeOwnPwd(int iPortID, string pcOldPasswd, string pcNewPasswd, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_ChangeOtherPwd(int iPortID, string pcUserName, string pcNewPasswd, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_DeleteSAMUser(int iPortID, string pcUserName, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_StartFindIDCard(int iPortID, ref int pucIIN, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_SelectIDCard(int iPortID, ref int pucSN, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_ReadBaseMsg(int iPortID, string pucCHMsg, ref int puiCHMsgLen, string pucPHMsg, ref int puiPHMsgLen, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_ReadBaseMsgToFile(int iPortID, string fileName1, ref int puiCHMsgLen, string fileName2, ref int puiPHMsgLen, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_WriteAppMsg(int iPortID, ref byte pucSendData, int uiSendLen, ref byte pucRecvData, ref int puiRecvLen, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_WriteAppMsgOK(int iPortID, ref byte pucData, int uiLen, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_CancelWriteAppMsg(int iPortID, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_ReadNewAppMsg(int iPortID, ref byte pucAppMsg, ref int puiAppMsgLen, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_ReadAllAppMsg(int iPortID, ref byte pucAppMsg, ref int puiAppMsgLen, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_UsableAppMsg(int iPortID, ref byte ucByte, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_GetUnlockMsg(int iPortID, ref byte strMsg, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_GetSAMID(int iPortID, ref byte StrSAMID, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_SetMaxRFByte(int iPortID, byte ucByte, int iIfOpen);
[DllImport("sdtapi.dll")]
public static extern int SDT_ResetSAM(int iPortID, int iIfOpen);
[DllImport("WltRS.dll")]
public static extern int GetBmp(string file_name, int intf);
public delegate void De_ReadICCardComplete(clsEDZ objEDZ);
public event De_ReadICCardComplete ReadICCardComplete;
private clsEDZ objEDZ = new clsEDZ();
private int EdziIfOpen = 1; //自动开关串口
int EdziPortID;
public clsICCard()
{
}
public bool ReadICCard()
{
bool bUsbPort = false;
int intOpenPortRtn = 0;
int rtnTemp = 0;
int pucIIN = 0;
int pucSN = 0;
int puiCHMsgLen = 0;
int puiPHMsgLen = 0;
objEDZ = new clsEDZ();
//检测usb口的机具连接,必须先检测usb
for (int iPort = 1001; iPort <= 1016; iPort++)
{
intOpenPortRtn = SDT_OpenPort(iPort);
if (intOpenPortRtn == 144)
{
EdziPortID = iPort;
bUsbPort = true;
break;
}
}
//检测串口的机具连接
if (!bUsbPort)
{
for (int iPort = 1; iPort <= 2; iPort++)
{
intOpenPortRtn = SDT_OpenPort(iPort);
if (intOpenPortRtn == 144)
{
EdziPortID = iPort;
bUsbPort = false;
break;
}
}
}
if (intOpenPortRtn != 144)
{
MessageBox.Show("端口打开失败,请检测相应的端口或者重新连接读卡器!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
‘陆’ 有没有易语言大神,求帮助 易语言怎么链接新中新身份证读卡器并读取信息
http://www.5a5x.com/06/201307/07109316.html
这个是一个连接读卡器的源码实例,楼主可以研究一下,我自己没接触过这方面
‘柒’ 身份证读卡器是通过什么原理作的,零部件有那些。
呵呵,先给你介绍一下二代证的变化
二代证最重要的变化是内部增加了一个芯片,里面存储了公民的一些信息
二代证读卡器,所谓读卡器就是通过此机器来对二代证内部的芯片信息进行读取,至于主要零件,这个是制造商的隐私,不便透露
‘捌’ 谁用C#二次开发过华视身份证读卡器,求帮助啊
我没有用过华视的,用的是神思的,应该差不多
我用的是文件的方式[DllImport("RdCard.dll", EntryPoint = "UCommand1", CharSet = CharSet.Auto, SetLastError = true, ExactSpelling = true)]
public static extern int UCommand(ref byte pCmd, ref int parg0, ref int parg1, ref int parg2);用此函数生成信息文件,再打开文件读取信息,直接用提供的函数读取某一信息也是出错
希望对你有帮助
‘玖’ 二代身份证读卡模块是怎样的原理
现在有方案在本地不使用安全模块SAM来读取身份证,可以是typeB的读卡器,或者是带NFC的安卓手机,这种解决方案一样能鉴别证件真伪。目的是为了降低终端成本,并且提供额外服务,比如人证核验,摄像头给人脸拍照就能比对持证人是否是本人,还有逃犯查询等等服务。看到这里的朋友可以了解一下这个解决方案。方案解决商
‘拾’ 请问有没有神思身份证读卡器的C#DEMO
什么意思? 你是要买么? 要买的话注意一下是否是合格产品,别买到翻新的了。