基本信息
源码名称:读写加密狗实例 源码下载
源码大小:0.44M
文件格式:.zip
开发语言:C#
更新时间:2013-01-31
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
读写加密狗例子
public partial class Form1 : Form { public Form1() { InitializeComponent(); } string str; string cn=""; private void Form1_Load(object sender, EventArgs e) { Dog dog = new Dog(100); dog.DogAddr = 0; dog.DogBytes = 10; str = "19820112"; for (int i = 0; i < str.Length; i ) { dog.DogData[i] = (byte)str[i]; } dog.WriteDog(); label1.Location = new Point(this.Width/4,30); label1.ForeColor = Color.White; } private void timer1_Tick(object sender, EventArgs e) { string dogdata = ""; Dog dog = new Dog(100); dog.DogAddr = 0; dog.DogBytes = 10; dog.ReadDog(); if (dog.Retcode == 0) { char[] chTemp = new char[str.Length]; for (int i = 0; i < str.Length; i ) { chTemp[i] = (char)dog.DogData[i]; } String strs = new String(chTemp); dogdata = strs; } else { dogdata = "2:" dog.Retcode; } if (dogdata == cn) { label1.Text = "当前版本为正式版本"; groupBox1.Visible = false; } else { label1.Text = "软件未注册!"; } } private void button1_Click(object sender, EventArgs e) { cn = textBox1.Text.Trim(); } } [StructLayout(LayoutKind.Sequential)] //这个类用于读写加密狗。 public unsafe class Dog { public uint DogBytes, DogAddr; //设置加密狗起始地址 public byte[] DogData; //设置数据的长度 public uint Retcode; [DllImport("Win32dll.dll", CharSet = CharSet.Ansi)] public static unsafe extern uint DogRead(uint idogBytes, uint idogAddr, byte* pdogData); [DllImport("Win32dll.dll", CharSet = CharSet.Ansi)] public static unsafe extern uint DogWrite(uint idogBytes, uint idogAddr, byte* pdogData); public unsafe Dog(ushort num) { DogBytes = num; DogData = new byte[DogBytes]; //设置数据的长度 } public unsafe void ReadDog() { fixed (byte* pDogData = &DogData[0]) { Retcode = DogRead(DogBytes, DogAddr, pDogData); //将数据读出加密狗 } } public unsafe void WriteDog() { fixed (byte* pDogData = &DogData[0]) { Retcode = DogWrite(DogBytes, DogAddr, pDogData); //将数据写入加密狗 } } }