前言
刷卡上机,一听这个词,我就觉得好有难度,可事实上却不难实现。 我的小伙伴实现了这个功能,实现固然重要,但是复用对以后更有帮助。我便简单的研究了下这个功能......
实现思路
首先,你当然需要一个刷卡机和几张卡。我们的刷卡机是USB口的。其次,我们刷卡实现的是上机的功能,在我们的程序里也就是登录,所以我们接下来要对登录窗体进行操作。
<1>引用mwhrf_bj.dll、ReaderBLL和ReaderDAL文件。
请在你的VS中添加引用,浏览找到这几个文件。在这里笔者想说句抱歉的是,这三个文件是刷卡机的,不同的刷卡机应该有不同的文件名,此篇博客只给实现刷卡提供一个思路
mwhrf_bj.dll无法引用,直接放到应用程序-bin-Debug里
<2>新建刷卡功能类。
在U层新建一个类库,里面准备编写实现功能代码。这里需要注意的是需要添加命名空间using ReaderBLL;
public class MyTools
{
/// <summary>
/// 从读卡器读取卡号的方法
/// </summary>
/// <returns></returns>
public static string ReadCardNo()
{
string cardNo = "";
string key = "";
int sectors = 0;
key = System.Configuration.ConfigurationManager.AppSettings["key"].ToString();
sectors = Convert.ToInt16(System.Configuration.ConfigurationManager.AppSettings["sectors"].ToString());
CardReader readCard = new CardReader(key, sectors);
readCard.Connection();
string strRead = readCard.Read();
switch (strRead)
{
case "1":
try
{
readCard.Close();
}
catch
{
throw new Exception("寻卡失败,请检查前台读卡器是否完好");
}
break;
case "2":
readCard.Close();
break;
case "3":
readCard.Close();
break;
default:
if (readCard.Read().Length == 64)