资源简介
USB读取PID和UID
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.Text.Regularexpressions;
using System.Windows.Forms;
namespace test
{
///
/// 即插即用设备信息结构
///
public struct PnPEntityInfo
{
public String PNPDeviceID; // 设备ID
public String Name; // 设备名称
public String Description; // 设备描述
public String Service; // 服务
public String Status; // 设备状态
public UInt16 VendorID; // 供应商标识
public UInt16 ProductID; // 产品编号
public Guid ClassGuid; // 设备安装类GUID
}
///
/// 基于WMI获取USB设备信息
///
public partial class USB
{
#region UsbDevice
///
/// 获取所有的USB设备实体(过滤没有VID和PID的设备)
///
public static PnPEntityInfo[] AllUsbDevices
{
get
{
return WhoUsbDevice(UInt16.MinValue UInt16.MinValue Guid.Empty);
}
}
///
/// 查询USB设备实体(设备要求有VID和PID)
///
/// 供应商标识,MinValue忽视
/// 产品编号,MinValue忽视
/// 设备安装类Guid,Empty忽视
/// 设备列表
public static int numb;//统计usb设备数量
public static PnPEntityInfo[] WhoUsbDevice(UInt16 VendorID UInt16 ProductID Guid ClassGuid)
{
numb = 0;
List UsbDevices = new List();
// 获取USB控制器及其相关联的设备实体
ManagementobjectCollection USBControllerDeviceCollection = new ManagementobjectSearcher(“SELECT * FROM Win32_USBControllerDevice“).Get();
if (USBControllerDeviceCollection != null)
{
foreach (Managementobject USBControllerDevice in USBControllerDeviceCollection)
{ // 获取设备实体的DeviceID
String Dependent = (USBControllerDevice[“Dependent“] as String).Split(new Char[] { ‘=‘ })[1];
// 过滤掉没有VID和PID的USB设备
Match match = Regex.Match(Dependent “VID_[0-9|A-F]{4}&PID_[0-9|A-F]{4}“);
if (match.Success)
{
UInt16 theVendorID = Convert.ToUInt16(match.Value.Substring(4 4) 16); // 供应商标识
if (VendorID != UInt16.MinValue && VendorID != theVendorID) continue;
UInt16 theProductID = Convert.ToUInt16(match.Value.Substring(13 4) 16); // 产品编号
if (ProductID != UInt16.MinValue && ProductID != theProductID) continue;
ManagementobjectCollection PnPEntityCollection = new ManagementobjectSearcher(“SELECT * FROM Win32_PnPEntity WHERE DeviceID=“ + Depend
相关资源
- USBHID通信
- USB 继电器控制器 LCUS-1 保证能用 c#
- 神思ss628型USB二代身份证DEMOC#
- C# 斑马打印机USB接口ZPL条码打印
- C#调用USB接口斑马打印机
- WPF进度条演示程序
- 网络安全LSB算法 采用C# 实现文字的隐
- USB complete 5th edition PDF
- C#-PID实现和仿真.rar
- 上位机_USB_FPGA程序
- cyUsb C#USB通信 DLL
- LSB算法隐写术
- WPF实现蜘蛛纸牌;
- 通过PJL协议,获取惠普USB打印机状态
- STM32读取SBUS接收机
- c#+BaslerSDKUSB3.0和以太网口通用
- c#操作摄像头(带着usb摄像头、mjpeg
- c#实现USB摄像头录像抓拍功能
- 03 STM32F205 多功能LCD时钟-c源码 keil5
- C#学生成绩管理系统(三层架构、CS
- C#调用USB口摄像头单头,多头源码
- C#编写的USB通信含源码
- USB检测,移除|UsbEject
- 调用cyUSB.dllC#源码
- 基于WPF的USB设备浏览器
- C#把ZPL指令直接发送USB打印机
- vb.net 获取USB 摄像头 图像 Aforge方法
- C#获取usb设备VID和PID
- WPF好看的圆形ProgressBar实现
- C# USB数据接收与发送
评论
共有 条评论