资源简介
//调用方法:搜索所有USB设备..
USB.WhoUsbDevice(0, 0, Guid.Empty);
代码片段和文件信息
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
相关资源
- C# TIP文件生成和拆解
- C#解析HL7消息的库135797
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
评论
共有 条评论