找了C#的demo
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} public int icdev;
int st;
byte[] snr = new byte[5];
private void button1_Click(object sender, EventArgs e)
{
icdev = Program.rf_init(0, 9600);
if (icdev > 0)
{
listBox1.Items.Add("Com Connect success!");
byte[] status = new byte[30];
st = Program.rf_get_status(icdev, status);
//lbHardVer.Text=System.Text.Encoding.ASCII.GetString(status);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(status));
Program.rf_beep(icdev, 25);
}
else
listBox1.Items.Add("Com Connect failed!"); byte[] key = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
int mode = 0;
int sector = 0;
for (int i = 0; i < 16; i++)
{
st = Program.rf_load_key(icdev, mode, sector, key);
if (st != 0)
{
string s1 = Convert.ToString(sector);
listBox1.Items.Add(s1 + " sector rf_load_key error!");
}
//else
//{
// listBox1.Items.Add("rf_load_key seccess!");
//}
sector++;
}
} private void button1_Click_1(object sender, EventArgs e)
{
int sector = 3;
st = Program.rf_card(icdev, 0, snr); //寻卡
if (st != 0)
{
listBox1.Items.Add("rf_card error");
}
else
{
byte[] snr1 = new byte[8];
listBox1.Items.Add("rf_card right!");
Program.hex_a(snr, snr1, 4);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(snr1));
}
st = Program.rf_authentication(icdev, 0, sector); //验证密码
if (st != 0)
{
listBox1.Items.Add("rf_authentication error!");
}
else
{
listBox1.Items.Add("rf_authentication right!");
} byte[] data = new byte[16];
string databuff = "深圳明华澳汉科技";
data = Encoding.Default.GetBytes(databuff);
st = Program.rf_write(icdev, sector * 4 + 1, data); //写数据
if (st != 0)
{
listBox1.Items.Add("rf_write error!");
listBox1.Items.Add(st.ToString());
}
else
{
listBox1.Items.Add("rf_write right!");
} byte[] databuffer = new byte[32];
st = Program.rf_read(icdev, sector * 4 + 1, databuffer); //读数据
if (st != 0)
{
listBox1.Items.Add("rf_read error!");
listBox1.Items.Add(st.ToString());
}
else
{
listBox1.Items.Add("rf_read right!");
listBox1.Items.Add(System.Text.Encoding.Default.GetString(databuffer));
} byte[] keya = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
byte[] keyb = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
st = Program.rf_changeb3(icdev, sector, keya, 0, 0, 0, 1, 0, keyb); //改密码
if (st != 0)
{
listBox1.Items.Add("rf_changeb3 error!");
listBox1.Items.Add(st.ToString());
}
else
{
listBox1.Items.Add("rf_changeb3 right!");
} Program.rf_halt(icdev);
Program.rf_beep(icdev, 50);
} private void button2_Click(object sender, EventArgs e)
{
st = Program.rf_exit(icdev);
if (st == 0)
{
listBox1.Items.Add("断开连接!");
}
} private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
} private void button4_Click(object sender, EventArgs e)
{
st = Program.rf_ctl_mode(icdev, 0);
if (st != 0)
{
MessageBox.Show("设置控制模式失败!");
}
else
{
MessageBox.Show("控制模式: 计算机控制!");
} st = Program.rf_CtlBackLight(icdev, 1);
if (st != 0)
{
MessageBox.Show("打开LCD背光失败!");
}
else
{
MessageBox.Show("打开LCD背光!");
} st = Program.rf_LcdClrScrn(icdev, 2);
if (st != 0)
{
MessageBox.Show("LCD清屏失败!");
}
else
{
MessageBox.Show("LCD清屏!");
} //st = Program.rf_DispMainMenu(icdev);
//if (st != 0)
//{
// MessageBox.Show("显示欢迎光临失败!");
//}
//else
//{
// MessageBox.Show("欢迎光临!");
//} st = Program.rf_DispLcd(icdev, 0, 0x01);
if (st != 0)
{
MessageBox.Show("显示操作失败!");
}
else
{
MessageBox.Show("请刷卡!");
} byte[] data = new byte[15];
string databuff = "明华澳汉科技";
data = Encoding.Default.GetBytes(databuff);
st = Program.rf_DispInfo(icdev, 1, 0, data);
if (st != 0)
{
MessageBox.Show("显示失败!");
}
else
{
MessageBox.Show("明华澳汉科技!");
} } private void button5_Click(object sender, EventArgs e)
{
st = Program.rf_ctl_mode(icdev, 0);
if (st != 0)
{
MessageBox.Show("设置控制模式失败!");
}
else
{
MessageBox.Show("控制模式: 计算机控制!");
} byte[] disp_str = new byte[] { 0x00, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88 };
//byte[] disp_str = new byte[10];
//string databuff = "12345678";
//disp_str = Encoding.Default.GetBytes(databuff);
st = Program.rf_disp8(icdev, 8, disp_str);
} private void button6_Click(object sender, EventArgs e)
{
st = Program.rf_card(icdev, 0, snr); //寻卡
if (st != 0)
{
listBox1.Items.Add("rf_card error");
}
else
{
byte[] snr1 = new byte[8];
listBox1.Items.Add("rf_card right!");
Program.hex_a(snr, snr1, 4);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(snr1));
} byte[] resetData = new byte[256];
byte[] rData = new byte[500];
byte[] sendCmd = new byte[] { 0, 0, 0, 5,0,0x84,0,0,8}; //第四个字节为发送的命令长度
st = Program.rf_pro_rst(icdev, resetData);
if (st != 0)
{
listBox1.Items.Add("复位失败!");
}
else
{
Program.hex_a(resetData, rData, resetData[0]); //将复位信息转换为ASC字符串存放在rData中
listBox1.Items.Add(System.Text.Encoding.Default.GetString(rData));
} Array.Clear(resetData, 0, 256);
st = Program.rf_pro_trn(icdev, sendCmd, resetData);
if (st != 0)
{
listBox1.Items.Add("取随机数失败!");
}
else
{
Array.Clear(rData, 0, 500);
Program.hex_a(resetData, rData, resetData[3] + 4);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(rData));
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} public int icdev;
int st;
byte[] snr = new byte[5];
private void button1_Click(object sender, EventArgs e)
{
icdev = Program.rf_init(0, 9600);
if (icdev > 0)
{
listBox1.Items.Add("Com Connect success!");
byte[] status = new byte[30];
st = Program.rf_get_status(icdev, status);
//lbHardVer.Text=System.Text.Encoding.ASCII.GetString(status);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(status));
Program.rf_beep(icdev, 25);
}
else
listBox1.Items.Add("Com Connect failed!"); byte[] key = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
int mode = 0;
int sector = 0;
for (int i = 0; i < 16; i++)
{
st = Program.rf_load_key(icdev, mode, sector, key);
if (st != 0)
{
string s1 = Convert.ToString(sector);
listBox1.Items.Add(s1 + " sector rf_load_key error!");
}
//else
//{
// listBox1.Items.Add("rf_load_key seccess!");
//}
sector++;
}
} private void button1_Click_1(object sender, EventArgs e)
{
int sector = 3;
st = Program.rf_card(icdev, 0, snr); //寻卡
if (st != 0)
{
listBox1.Items.Add("rf_card error");
}
else
{
byte[] snr1 = new byte[8];
listBox1.Items.Add("rf_card right!");
Program.hex_a(snr, snr1, 4);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(snr1));
}
st = Program.rf_authentication(icdev, 0, sector); //验证密码
if (st != 0)
{
listBox1.Items.Add("rf_authentication error!");
}
else
{
listBox1.Items.Add("rf_authentication right!");
} byte[] data = new byte[16];
string databuff = "深圳明华澳汉科技";
data = Encoding.Default.GetBytes(databuff);
st = Program.rf_write(icdev, sector * 4 + 1, data); //写数据
if (st != 0)
{
listBox1.Items.Add("rf_write error!");
listBox1.Items.Add(st.ToString());
}
else
{
listBox1.Items.Add("rf_write right!");
} byte[] databuffer = new byte[32];
st = Program.rf_read(icdev, sector * 4 + 1, databuffer); //读数据
if (st != 0)
{
listBox1.Items.Add("rf_read error!");
listBox1.Items.Add(st.ToString());
}
else
{
listBox1.Items.Add("rf_read right!");
listBox1.Items.Add(System.Text.Encoding.Default.GetString(databuffer));
} byte[] keya = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
byte[] keyb = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
st = Program.rf_changeb3(icdev, sector, keya, 0, 0, 0, 1, 0, keyb); //改密码
if (st != 0)
{
listBox1.Items.Add("rf_changeb3 error!");
listBox1.Items.Add(st.ToString());
}
else
{
listBox1.Items.Add("rf_changeb3 right!");
} Program.rf_halt(icdev);
Program.rf_beep(icdev, 50);
} private void button2_Click(object sender, EventArgs e)
{
st = Program.rf_exit(icdev);
if (st == 0)
{
listBox1.Items.Add("断开连接!");
}
} private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
} private void button4_Click(object sender, EventArgs e)
{
st = Program.rf_ctl_mode(icdev, 0);
if (st != 0)
{
MessageBox.Show("设置控制模式失败!");
}
else
{
MessageBox.Show("控制模式: 计算机控制!");
} st = Program.rf_CtlBackLight(icdev, 1);
if (st != 0)
{
MessageBox.Show("打开LCD背光失败!");
}
else
{
MessageBox.Show("打开LCD背光!");
} st = Program.rf_LcdClrScrn(icdev, 2);
if (st != 0)
{
MessageBox.Show("LCD清屏失败!");
}
else
{
MessageBox.Show("LCD清屏!");
} //st = Program.rf_DispMainMenu(icdev);
//if (st != 0)
//{
// MessageBox.Show("显示欢迎光临失败!");
//}
//else
//{
// MessageBox.Show("欢迎光临!");
//} st = Program.rf_DispLcd(icdev, 0, 0x01);
if (st != 0)
{
MessageBox.Show("显示操作失败!");
}
else
{
MessageBox.Show("请刷卡!");
} byte[] data = new byte[15];
string databuff = "明华澳汉科技";
data = Encoding.Default.GetBytes(databuff);
st = Program.rf_DispInfo(icdev, 1, 0, data);
if (st != 0)
{
MessageBox.Show("显示失败!");
}
else
{
MessageBox.Show("明华澳汉科技!");
} } private void button5_Click(object sender, EventArgs e)
{
st = Program.rf_ctl_mode(icdev, 0);
if (st != 0)
{
MessageBox.Show("设置控制模式失败!");
}
else
{
MessageBox.Show("控制模式: 计算机控制!");
} byte[] disp_str = new byte[] { 0x00, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88 };
//byte[] disp_str = new byte[10];
//string databuff = "12345678";
//disp_str = Encoding.Default.GetBytes(databuff);
st = Program.rf_disp8(icdev, 8, disp_str);
} private void button6_Click(object sender, EventArgs e)
{
st = Program.rf_card(icdev, 0, snr); //寻卡
if (st != 0)
{
listBox1.Items.Add("rf_card error");
}
else
{
byte[] snr1 = new byte[8];
listBox1.Items.Add("rf_card right!");
Program.hex_a(snr, snr1, 4);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(snr1));
} byte[] resetData = new byte[256];
byte[] rData = new byte[500];
byte[] sendCmd = new byte[] { 0, 0, 0, 5,0,0x84,0,0,8}; //第四个字节为发送的命令长度
st = Program.rf_pro_rst(icdev, resetData);
if (st != 0)
{
listBox1.Items.Add("复位失败!");
}
else
{
Program.hex_a(resetData, rData, resetData[0]); //将复位信息转换为ASC字符串存放在rData中
listBox1.Items.Add(System.Text.Encoding.Default.GetString(rData));
} Array.Clear(resetData, 0, 256);
st = Program.rf_pro_trn(icdev, sendCmd, resetData);
if (st != 0)
{
listBox1.Items.Add("取随机数失败!");
}
else
{
Array.Clear(rData, 0, 500);
Program.hex_a(resetData, rData, resetData[3] + 4);
listBox1.Items.Add(System.Text.Encoding.Default.GetString(rData));
}
}
}
}
解决方案 »
- RichTextBox去掉末尾的空行,高手进
- 请教硬件专家:配合P4 CPU(2.4G)的最高档主板是什么型号,其所用的内存条是什么型号,内存最多能扩充到多少G
- C#.net新手。
- 请问有人知道窗口抓图是怎么实现的吗?
- WinFrm中生成EXCEL文件怎么杀死EXCEL.EXE进程
- 我想学正则表达式,求指点一二
- 100分小问题?
- linq查询返回的匿名类型怎么处理
- 如何将自己的程序加入Ie的右键菜单,就像Netants一样
- 请各位高手帮帮忙,怎样使用模式对话框?
- 【急】WPF窗体能触发closing事件,但是不能触发closed事件
- 如何自定义WPF 中Datagrid的contextmenu
这样的长度改大一点试试吧,这个问题我也不太清楚