You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
5.4 KiB
136 lines
5.4 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Drawing.Imaging;
|
|
using System.Reflection;
|
|
using System.Runtime.InteropServices;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using ShenTun.IcCard.Common;
|
|
namespace ShenTun.IcCard.Instance
|
|
{
|
|
/// <summary>
|
|
/// 研腾、深圳华视CVR100
|
|
/// </summary>
|
|
public class YT100
|
|
{
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int InitComm(int port);//连接身份证阅读器
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int CloseComm();//断开与身份证阅读器连接
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int Authenticate();//判断是否有放卡,且是否身份证
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int Read_Content(int index);//读卡操作,信息文件存储在dll所在下
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetPeopleName(StringBuilder data, int cbData);//获取姓名
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetPeopleSex(StringBuilder data, int cbData);//获取性别
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetPeopleNation(StringBuilder data, int cbData);//获取民族
|
|
//[DllImport(@"YT100\termb.dll")]
|
|
//public static extern int GetNationCode(StringBuilder data, int cbData);//获取民族代码
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetPeopleBirthday(StringBuilder data, int cbData);//获取生日(YYYYMMDD)
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetPeopleAddress(StringBuilder data, int cbData);//获取地址
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetPeopleIDCode(StringBuilder data, int cbData);//获取身份证号
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetDepartment(StringBuilder data, int cbData);//获取签发机关
|
|
[DllImport(@"YT100\termb.dll")]
|
|
public static extern int GetStartDate(StringBuilder data, int cbData);//获取有效期起始日期(YYYYMMDD)
|
|
[DllImport(@"YT100\termb.dll")]
|
|
static extern int GetEndDate(StringBuilder data, int cbData);//获取有效期截止日期(YYYYMMDD)
|
|
|
|
static int cbDataSize=300;
|
|
public static string GetName()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetPeopleName(sb, cbDataSize);
|
|
return sb.ToString();
|
|
}
|
|
|
|
public static string GetSex()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetPeopleSex(sb, cbDataSize);
|
|
return sb.ToString();
|
|
}
|
|
|
|
public static string GetIDCode()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetPeopleIDCode(sb, cbDataSize);
|
|
return sb.ToString();
|
|
}
|
|
|
|
public static string GetBirthday()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetPeopleBirthday(sb, cbDataSize);
|
|
string birthday = string.Format("{0}-{1}-{2}", sb.ToString().Substring(0, 4), sb.ToString().Substring(4, 2), sb.ToString().Substring(6, 2));
|
|
return birthday;
|
|
}
|
|
|
|
public static string GetAddress()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetPeopleAddress(sb, cbDataSize);
|
|
return sb.ToString();
|
|
}
|
|
|
|
public static string GetNation()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetPeopleNation(sb, cbDataSize);
|
|
return sb.ToString();
|
|
}
|
|
|
|
public static string GetStartDateIC()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetStartDate(sb, cbDataSize);
|
|
string date = string.Format("{0}-{1}-{2}", sb.ToString().Substring(0, 4), sb.ToString().Substring(4, 2), sb.ToString().Substring(6, 2));
|
|
return date;
|
|
}
|
|
|
|
public static string GetEndDateIC()
|
|
{
|
|
StringBuilder sb = new StringBuilder(cbDataSize);
|
|
GetEndDate(sb, cbDataSize);
|
|
string date = string.Format("{0}-{1}-{2}", sb.ToString().Substring(0, 4), sb.ToString().Substring(4, 2), sb.ToString().Substring(6, 2));
|
|
return date;
|
|
}
|
|
|
|
public static string GetDepartmentIC()
|
|
{
|
|
StringBuilder sb=new StringBuilder(cbDataSize);
|
|
GetDepartment(sb, cbDataSize);
|
|
return sb.ToString();
|
|
}
|
|
|
|
public static string GetPhoto()
|
|
{
|
|
//string path_current = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
|
string path_current = System.IO.Directory.GetCurrentDirectory();
|
|
string photo = "zp.bmp";
|
|
string file = string.Format("{0}\\{1}", path_current, photo);
|
|
FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
|
|
byte[] imageByte = new byte[file.Length];
|
|
BinaryReader br = new BinaryReader(fs);
|
|
imageByte = br.ReadBytes(Convert.ToInt32(fs.Length));
|
|
|
|
MemoryStream ms = new MemoryStream(imageByte);
|
|
Bitmap bm = new Bitmap(ms);
|
|
string base64 = ImageHelper.ToBase64(bm, ImageFormat.Bmp);
|
|
fs.Dispose();
|
|
ms.Dispose();
|
|
return base64;
|
|
}
|
|
|
|
}
|
|
}
|