-
大小: 107KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-04
- 语言: C#
- 标签: 非接触 IC卡 Mifarel卡 mwrf32.dll
资源简介
程序:C#非接触IC卡M1卡读写调试程序
适用机型:明华HRF-35,URF-R330
程序语言:C#
作者:王龙 www.sskee.com
讯思科软件出品
该程序以读写明华HRF-35,URF-R330为例,向学习非接触式IC编程的朋友们提供编程源码范例,
通过学习,深入了解.net C#调用mwrf32.dll,进一步了解M1非接触IC卡的内部数据结构。
本程序在Microsoft Visual Studio 2010环境下编写。
问与答:
1、运行程序时,提示“不安全代码只会在使用 /unsafe 编译的情况下出现”。
解决:打开项目属性(在窗口右边的解决方案资源管理器里,鼠标右键项目名称card,弹出菜单,点击属性)
在属性对话框里找到“生成”页面,常规项里勾选“允许不安全代码”,保存。
2、运行程序时,提示“对 PInvoke 函数“card!card.urf::rf_init”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。”
解决:打开项目属性(在窗口右边的解决方案资源管理器里,鼠标右键项目名称card,弹出菜单,点击属性)
在属性对话框里找到“应用程序”页面,将目标框架选择为“。NET Frameword 3.5 Client Profile”,保存。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
//程序:C#非接触IC卡M1卡读写调试程序
//适用机型:明华HRF-35,URF-R330
//程序语言: .NET C#
//作者:王龙
//讯思科软件出品 www.sskee.com
namespace card
{
public partial class Form1 : Form
{
int icdev = 0;
public Form1()
{
InitializeComponent();
label7.Text = ““;
label8.Text = ““;
label3.Text = “说明:写入的参数最多16个字节,汉字不超过8个汉字。\r\nM1卡分16个扇区,每个扇区4个版块,0扇区0版块不可写,已固化,\r\n其它扇区0、1、2版块可写入参数“;
}
private void button1_Click(object sender EventArgs e)
{
//边接设备,初始化
string str = ““;
if (icdev == 0) { icdev = urf.rf_init(); } else { return; }
//icdev = urf.rf_init();
if (icdev < 0)
{
MessageBox.Show(icdev + “端口初始化失败请检查接口线是否连接正确。“ “错误提示“ MessageBoxButtons.OK MessageBoxIcon.Information);
}
else
{
unsafe
{
int st;
Byte[] version = new Byte[18];
//char version= new char();
st = urf.rf_get_status(icdev version);
if (st == 1)
label1.Text = “error“;
else
//str = new string(version);
str = Encoding.Default.GetString(version);
urf.rf_beep(icdev 5);//提示音
label1.Text = icdev + “设备已连接,标识号:“ + str.ToString();
}
}
}
private void button2_Click(object sender EventArgs e)
{
//断开连接,初始化
int id = urf.rf_exit(icdev);
icdev = 0;
if (icdev < 0)
MessageBox.Show(“端口初始化失败请检查接口线是否连接正确。“ “错误提示“ MessageBoxButtons.OK MessageBoxIcon.Information);
else
{ MessageBox.Show(“已断开连接。“ “错误提示“ MessageBoxButtons.OK MessageBoxIcon.Information);
label1.Text = “已断开连接“ + icdev;
}
}
private void button3_Click(object sender EventArgs e)
{
unsafe
{
int st;
st = urf.rf_beep(icdev 30);
}
}
private void button4_Click(object sender EventArgs e)
{
readcard();
}
private void button5_Click(object sender EventArgs e)
{
int st;
if (comboBox1.Text == ““ | comboBox1.Text == ““)
{
MessageBox.Show(“请选择扇区和块!“);
return;
}
int sq = Convert.ToInt32(comboBox1.Text);
int bk = Convert.ToInt32(comboBox2.Te
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1009 2012-12-14 22:29 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\说明.txt
文件 1364 2012-12-14 21:49 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Properties\AssemblyInfo.cs
文件 5612 2012-12-14 21:49 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Properties\Resources.resx
文件 2844 2012-12-14 22:28 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Properties\Resources.Designer.cs
文件 249 2012-12-14 21:49 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Properties\Settings.settings
文件 1100 2012-12-14 22:28 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Properties\Settings.Designer.cs
文件 10341 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Form1.cs
文件 15967 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Form1.Designer.cs
文件 686 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\Program.cs
文件 3822 2012-12-14 22:29 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\card.csproj
文件 490 2010-03-17 22:39 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\bin\Debug\card.vshost.exe.manifest
文件 11608 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\bin\Debug\card.vshost.exe
文件 17920 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\bin\Debug\card.exe
文件 32256 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\bin\Debug\card.pdb
文件 114688 2009-05-15 09:23 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\bin\Debug\mwrf32.dll
文件 130 2012-12-14 22:28 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\bin\Debug\card.exe.config
文件 130 2012-12-14 22:28 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\bin\Debug\card.vshost.exe.config
文件 4608 2012-12-14 22:28 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 6648 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 180 2012-12-14 23:09 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\card.Form1.resources
文件 180 2012-12-14 22:29 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\card.Properties.Resources.resources
文件 776 2012-12-14 23:09 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\GenerateResource.read.1.tlog
文件 782 2012-12-14 23:09 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\GenerateResource.write.1.tlog
文件 17920 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\card.exe
文件 1784 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\card.csproj.FileListAbsolute.txt
文件 2836 2012-12-14 22:28 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 2 2012-12-14 23:09 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\GenerateResource-ResGen.read.1.tlog
文件 2 2012-12-14 23:09 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\GenerateResource-ResGen.write.1.tlog
文件 32256 2012-12-14 23:12 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\obj\x86\Debug\card.pdb
文件 849 2012-12-14 21:49 C#非接触IC卡M1卡读写调试源代码(适用机型明华HRF-35,URF-R330)\card\card.sln
............此处省略16个文件信息
- 上一篇:C#简单与数据库连接的登录界面
- 下一篇:高斯邻带换算
评论
共有 条评论