首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#中获取USB-Stick的序列号

在C#中获取USB-Stick的序列号,可以通过使用Windows API和WMI(Windows Management Instrumentation)来实现。以下是一个简单的示例代码,用于获取连接到计算机的所有USB存储设备的序列号:

代码语言:csharp
复制
using System;
using System.Management;

public class USBDriveInfo
{
    public static void Main()
    {
        try
        {
            ManagementObjectCollection drives = GetUSBDrives();

            foreach (ManagementObject drive in drives)
            {
                Console.WriteLine("Device ID: {0}", drive["DeviceID"]);
                Console.WriteLine("PNP Device ID: {0}", drive["PNPDeviceID"]);
                Console.WriteLine("Serial Number: {0}", drive["VolumeSerialNumber"]);
                Console.WriteLine();
            }
        }
        catch (ManagementException e)
        {
            Console.WriteLine("An error occurred while querying for USB drives: {0}", e.Message);
        }

        Console.ReadLine();
    }

    private static ManagementObjectCollection GetUSBDrives()
    {
        // Create a new WMI query
        string query = "SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'";
        ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

        // Execute the query and return the results
        return searcher.Get();
    }
}

这段代码首先使用WMI查询所有接口类型为USB的磁盘驱动器。然后,它遍历查询结果,并输出每个USB存储设备的设备ID、PNP设备ID和序列号。

需要注意的是,这个方法只能获取已连接的USB存储设备的序列号。如果设备没有序列号,则此方法将不起作用。此外,如果有多个USB存储设备连接到计算机,则此方法将返回所有设备的序列号。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ODrive 通讯协议「建议收藏」

与ODrive进行通讯需要对通讯端点进行一系列操作。理论上,端点上的数据可以是以任何方式序列化的任何类型的数据。数据包采用默认的序列化方式,对于您自定义的数据包,您必须自己去进行反序列化。未来我们可能会提供序列化功能。可以通过从端点0读取JSON来枚举可用的端点,从理论上讲,每个接口都可以不同(实际上并没有这么做)。每个端点都可以被用来发送和接收字节数据,有效字节数据的含义在JSON中进行了定义。 例如,int32端点的输入和输出是4字节的小字节序表示。 通常,组合的读/写请求的约定是交换,即返回的值是旧值。 自定义的端点可能不符合这种要求。 该协议有基于数据包的版本和基于流的变体。 适当地使用每个变体。 例如,USB默认运行基于数据包,而UART运行基于字节流。

01

硬件笔记(8)----USB学习笔记5

如前面所述,当某个设备被连接到 USB 主机上,该设备会向主机提供其功能和电源要求。通常,设备会通过一个描述符表格(其固件的一部分)来提供这些信息。描述符表格是数据的结构化序列,描述了设备信息;这些值由开发人员定义。所有描述符表格都具有一个标准信息,用于介绍设备属性和电源要求。如果某个设计满足指定 USB 设备类别的要求,则该 USB 设备必须具备的其他描述符信息都将包含在设备描述符结构中。附录 A 包含一个 PSoC USB 的全功能设备描述符的示例。如果您正在阅读或创建您自己的描述符,那么请注意,传输数据字段时,优先传输最低有效位。许多参数的长度均为 2个字节。请确保先发送低字节,然后再发送高字节。

02
领券