手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

C#得到普通U盘序列号

时间:2024-10-15 02:46:36

1、首先打开vs2013(其他版本也可以),在C#项目中选择 Windows窗体应用程序。 写上项目名字点创建。(本例用VS2013系统默认项目名,路径随意。)

C#得到普通U盘序列号
C#得到普通U盘序列号

2、创建项目后,可以看到一个窗口,将Form1窗口的Text属性改为"C#得到普通曷决仙喁U盘序列号";在工具箱中拖一个“Button”按钮和“TexBox”文本框,调整界面如下图。

C#得到普通U盘序列号

3、双击“button1”按钮,跳出代码窗口。在button1_Click函数中输入2行代码。 private void button1_Click(object sender, EventArgs e) { string str = Get_U盘系列号(); this.textBox1.Text = str; }其中Get_U盘系列号()为自定义的获取U盘系列号的函数。

C#得到普通U盘序列号

4、点击Get_U盘系列号(),让vs2013系统帮忙新建函数,可省掉书写时间。

C#得到普通U盘序列号

5、依次点击“项目“->“添加项目”->“System.Management”->确定

C#得到普通U盘序列号
C#得到普通U盘序列号

6、完善Get_U盘系列号()方法。private string Get_U盘系列号() { string _driveLetter = Application.StartupPath.Substring(0, 2);//得到盘符 string[] diskArray; string driveNumber; string driveLetter; string _serialNumber=""; ManagementObjectSearcher searcher1 = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDiskToPartition"); foreach (ManagementObject dm in searcher1.Get()) { diskArray = null; string inValue = dm["Dependent"].ToString(); int posFoundStart = 0; int posFoundEnd = 0; posFoundStart = inValue.IndexOf("\""); posFoundEnd = inValue.IndexOf("\"", posFoundStart + 1); driveLetter = inValue.Substring(posFoundStart + 1, (posFoundEnd - posFoundStart) - 1); inValue = dm["Antecedent"].ToString(); string driveLetter2 = ""; posFoundStart = 0; posFoundEnd = 0; posFoundStart = inValue.IndexOf("\""); posFoundEnd = inValue.IndexOf("\"", posFoundStart + 1); driveLetter2 = inValue.Substring(posFoundStart + 1, (posFoundEnd - posFoundStart) - 1); diskArray = driveLetter2.Split(','); driveNumber = diskArray[0].Remove(0, 6).Trim(); if (driveLetter == _driveLetter) { ManagementObjectSearcher disks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); foreach (ManagementObject disk in disks.Get()) { if (disk["Name"].ToString() == ("\\\\.\\PHYSICALDRIVE" + driveNumber) & disk["InterfaceType"].ToString() == "USB") { string[] splitDeviceId = disk["PNPDeviceID"].ToString().Split('\\'); string[] serialArray; int arrayLen = splitDeviceId.Length - 1; serialArray = splitDeviceId[arrayLen].Split('&'); _serialNumber = serialArray[0]; } } } } return _serialNumber; }

C#得到普通U盘序列号

7、编译生成.exe文件,放置U盘测试。有了U盘系列号,就可以构建自己的加密算法了。

C#得到普通U盘序列号
© 手抄报圈