WINCE 获取智能设备唯一编号
来源:互联网 发布:nginx解析其他网站 编辑:程序博客网 时间:2024/05/20 02:28
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;//提供了一个方法集,这些方法用于分配非托管内存、复制非托管内存块、将托管类型转换为非托管类型,此外还提供了在与非托管代码交互时使用的其他杂项方法namespace LogisticsManage{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("coredll.dll")] private extern static int GetDeviceUniqueID([In, Out] byte[] appdata, int cbApplictionData, int dwDeviceIDVersion, [In, Out] byte[] deviceIDOuput, out uint pcbDeviceIDOutput); private void button1_Click(object sender, EventArgs e) { byte[] buffer = GetDeviceID("MyAppString"); StringBuilder sb = new StringBuilder(); for (int x = 0; x < buffer.Length; x++) { //sb.Append('{'); sb.Append(string.Format("{0:x2}", buffer[x])); //sb.Append("} "); } textBox1.Text = sb.ToString(); } private byte[] GetDeviceID(string AppString) { // Call the GetDeviceUniqueID byte[] AppData = new byte[AppString.Length]; for (int count = 0; count < AppString.Length; count++) AppData[count] = (byte)AppString[count]; int appDataSize = AppData.Length; byte[] DeviceOutput = new byte[20]; uint SizeOut = 20; GetDeviceUniqueID(AppData, appDataSize, 1, DeviceOutput, out SizeOut); return DeviceOutput; } }}