Advertisement

C# WinForm中获取USB外设信息

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文介绍了在C# WinForm应用程序中如何获取连接到计算机上的USB外设的信息,包括设备名称、制造商和序列号等。 该项目采用WMI技术进行开发。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • C# WinFormUSB
    优质
    本文介绍了在C# WinForm应用程序中如何获取连接到计算机上的USB外设的信息,包括设备名称、制造商和序列号等。 该项目采用WMI技术进行开发。
  • 安卓USB
    优质
    本项目旨在为安卓设备开发一个实用工具,用于高效便捷地获取连接到设备上的USB外设详细信息,便于用户管理和调试。 使用带OTG功能的安卓设备读取USB外设信息可以通过AS调试工具获取。以下是过滤后的示例输出: 厂商/VendorId: 0x10C4 产品/ProductId: 0xEA60 设备/DeviceId: 0x7D2 接口数/InterfaceCount: 1 描述/describeContents = 0 设备类/DeviceClass: 0 设备子类/DeviceSubclass: 0 设备名称/DeviceName: /dev/bus/usb/002/002 设备协议/DeviceProtocol: 0 哈希码/hashCode: 0xFB393B2 ---------- 接口信息 ---------- 接口ID: 0 接口类/InterfaceClass: 255 接口子类/InterfaceSubclass: 0 接口协议/InterfaceProtocol: 0 端点数/EndpointCount:2 ----- 端点0 ----- 数据方向/Direction: 输入 类型/Type: 2 描述/describeContents: 0 地址/Address: 0x81 属性/Attributes: 2 区间/Interval: 0 最大包大小/MaxPacketSize: 64 ----- 端点1 ----- 数据方向/Direction: 输出 类型/Type: 2 描述/describeContents: 0 地址/Address: 0x1 属性/Attributes: 2 区间/Interval: 0 最大包大小/MaxPacketSize: 64
  • C# USB
    优质
    本教程详细介绍如何使用C#编程语言获取并操作计算机上的USB设备信息,包括检测新连接的USB设备和访问其属性。 C#结合USB进行数据的接收和发送可以作为学习参考。
  • JavaUSB示例代码
    优质
    本示例代码展示了如何使用Java程序来检测和获取连接到计算机上的USB外设的信息。通过此类编程可以实现对外部硬件设备的有效管理和监控。 在Java中获取USB外接设备的信息(如PID、VID)可以通过使用特定的库来实现。例如,可以利用JNA (Java Native Access) 或者其他的JNI接口来访问操作系统提供的API,从而读取连接到计算机上的USB设备信息。 下面是一个简单的例子: 1. 首先需要添加JNA依赖项。 2. 使用JNA调用Windows API中的SetupDiGetClassDevs函数获取所有已安装的USB设备列表。这个函数返回一个设备信息集句柄,可以用来进一步查询每个具体设备的信息。 3. 对于每一个得到的设备,使用SetupDiEnumDeviceInterfaces和SetupDiGetDeviceInterfaceDetail来获取VID、PID等详细信息。 请注意实际编码时需要根据具体的库文档进行详细操作,并处理可能出现的各种异常情况。
  • Qt USB
    优质
    简介:本教程介绍如何使用 Qt 框架编写程序来获取和管理计算机上的 USB 设备信息,涵盖设备检测、属性读取等操作。 使用QT实现获取USB设备的信息,并将这些信息显示到用户界面上的完整工程示例。
  • USB的VC++方法
    优质
    本文章介绍如何使用VC++编程语言获取计算机上USB设备的相关信息,包括设备名称、制造商等详细内容。 USB设备种类繁多,因此对它们的查找与读写变得非常重要。然而,关于如何进行USB操作的信息却相对较少。这里通过VC++展示了一些获取USB信息的方法。 一、枚举USB设备 可以通过以下步骤来实现:首先枚举USB控制器;接着遍历该控制器上的所有HUB(集线器);然后逐一检查每个端口以获得连接的设备信息。具体操作如下: - 为每一个主控器创建一个路径名,例如使用 \\\\.\\HCD1 和 \\\\.\\HCD2。 - 使用 `CreateFile` 函数打开这些控制器,并通过 `DeviceIoControl` 获取驱动程序名称和与之相连的HUB设备信息。 - 对于每个找到的HUB,再次调用 `CreateFile` 打开它并获取连接到该HUB的所有设备的信息。 二、枚举HID(人机接口)设备 这类设备包括USB鼠标和游戏手柄等。通过使用API函数 `HidD_GetHidGuid(&guidHID)` 来获得GUID,然后利用 `SetupDiEnumDeviceInterfaces` 函数来判断是否有相应的硬件连接到系统中。 如果发现有符合标准的设备,则可以进一步调用 `SetupDiGetDeviceInterfaceDetail` 获取其详细路径信息。接着打开该文件并使用 `HidD_GetAttributes` 来获取基本属性,或者通过发送特定命令给驱动程序(例如利用 `DeviceIoControl` 函数)来获得更详尽的信息。 在本示例代码中,如果计算机上安装了USB游戏手柄,则可以成功读取其信息。然而,在Windows XP操作系统下却无法正确识别出连接的USB鼠标。 三、枚举U盘 首先使用 API `GetDriveType` 来判断设备类型;如果是可移动存储(即返回值为REMOVABLE),则很可能是U盘。接下来,通过调用 `CreateFile` 函数打开该设备,并利用带有参数 IOCTL_STORAGE_QUERY_PROPERTY 的 `DeviceIoControl` 请求来获取有关其属性的详细信息。 四、总结 此示例项目已经能够在Windows XP环境下使用Visual C++ 6.0和XP DDK工具链成功编译运行。由于USB硬件种类繁多且控制软件各异,使得访问这些端口上的设备比串行或并行接口更为复杂。 本段落仅提供了基本的实现方案,并未涵盖所有问题(如某些特定鼠标型号在Windows XP上无法被正确识别等)。参考了诸如 USBPort 和 USBview 等开源项目。
  • C#USB备的VID和PID
    优质
    本文介绍了在C#编程语言中如何获取连接到计算机上的USB设备的Vendor ID (VID) 和 Product ID (PID),帮助开发者实现更精确的硬件识别与管理。 调用方法:搜索所有USB设备,使用代码 USB.WhoUsbDevice(0, 0, Guid.Empty)。
  • C#USB备的VID和PID
    优质
    本文章介绍了如何在C#编程语言环境中获取连接到计算机上的USB设备的Vendor ID (VID) 和 Product ID (PID),帮助开发者进行硬件识别与通信。 调用方法:搜索所有USB设备,使用代码 USB.WhoUsbDevice(0, 0, Guid.Empty)。
  • C#USB备的VID和PID
    优质
    本文介绍如何在C#程序中获取连接到计算机上的USB设备的Vendor ID (VID) 和 Product ID (PID),帮助开发者进行硬件识别与管理。 调用方法:搜索所有USB设备。 USB.WhoUsbDevice(0, 0, Guid.Empty); 调用方法:搜索所有USB设备。 USB.WhoUsbDevice(0, 0, Guid.Empty);
  • C# USB 枚举:集线器和端口 - 开源
    优质
    本项目提供一个开源工具,使用C#编程语言实现USB设备枚举功能,能够详细列出系统中所有USB集线器及其端口的信息。 .NET USB枚举可以通过Action<>回调来获取集线器和端口号以及适用于CreateFile()的USB和HID DevicePath,在无用户界面的应用程序中非常有用。