C# 获取U盘ID序列号及U盘信息

C# 获取U盘ID序列号及U盘信息

2011-05-20 上传大小:35KB 
 
获取U盘ID序列号
VS2005编译通过,源码源自CSDN。已经测试好用。
可以获得U盘名称,制造商ID号 版本号 U盘序列号及容量

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Management;
namespace UDiskTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            DriveInfo[] s = Dri
                            veInfo.GetDrives();
            foreach (DriveInfo drive in s)
            {
                if (drive.DriveType == DriveType.Removable)
                {
                    pf.Text = drive.Name.ToString();
                    break;
                }
            }
            ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection moc = cimobject.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                if (mo.Properties["InterfaceType"].Value.ToString() == "USB")
                {
                    try
                    {
                        //产品名称
                        Caption.Text = mo.Properties["Caption"].Value.ToString();

                        //总容量
                        Size.Text = mo.Properties["Size"].Value.ToString();


                        string[] info = mo.Properties["PNPDeviceID"].Value.ToString().Split('&');
                        string[] xx = info[3].Split('\');
                        //序列号
                        MessageBox.Show("U盘序列号:" + xx[1]);
                        PNPDeviceID.Text = xx[1];
                        xx = xx[0].Split('_');

                        //版本号
                        REV.Text = xx[1];

                        //制造商ID
                        xx = info[1].Split('_');
                        VID.Text = xx[1];

                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }
        }
    }
}

如果编译遇到问题是using System.Management;无法找到引用找到,
项目(p)->添加引用(R)->找到.NET标签页 列表中下部位找到System.Management
双击点确定                        
原文地址:https://www.cnblogs.com/pengchenggang/p/9213194.html