110,534
社区成员
发帖
与我相关
我的任务
分享
namespace offer
{
public partial class Form1 : Form
{
public class DLL_Open
{
[DllImport("JINCARD7.dll", EntryPoint = "Init_com")]
public static extern int Init_com(string flags);
[DllImport("JINCARD7.dll", EntryPoint = "sele_exp_port")]
public static extern int sele_exp_port(int coms,char exp);
[DllImport("JINCARD7.dll", EntryPoint = "Rcard")]
public static extern int Rcard(StringBuilder rdatas, int tracks);
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string flags = "1,9600,N,8,1";
int ret = DLL_Open.Init_com(flags);
switch (ret)
{
case 1:
break;
default:
break;
//打开串口连接
}
DLL_Open.sele_exp_port(1,'b');
StringBuilder rdatas = new StringBuilder(300);
int result = DLL_Open.Rcard(rdatas,2);
textBox1.Text = result.ToString();
textBox2.Text = rdatas.ToString();
switch (result)
{
case 1:
MessageBox.Show("读卡成功!卡号:" + rdatas.ToString().
Substring(1, 10), "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
break;
case -6:
MessageBox.Show("读卡超时!","提示", MessageBoxButtons.OK,
MessageBoxIcon.Error);
break;
}
}
private void button2_Click(object sender, EventArgs e)
{
//如何关闭打开的端口?
}
}
public string ret;
private void button1_Click(object sender, EventArgs e)
{
flags = "1,9600,N,8,1";
int ret = DLL_Open.Init_com(flags);
System.Diagnostics.Process.Start(ref);
}
private void button2_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(ret);
}
public string flags;
flags = "1,9600,N,8,1";
int ret = DLL_Open.Init_com(flags);
System.Diagnostics.Process.Start(flags);