C#如何获取由USB输入的数据 15
或者帮详细解释下http://bbs.csdn.net/topics/320000607帖子里52#的代码,如获取的数据都在哪些变量里,如何显示出来...
或者帮详细解释下http://bbs.csdn.net/topics/320000607帖子里52#的代码,如获取的数据都在哪些变量里,如何显示出来
展开
3个回答
展开全部
1、获取一个指定类别或全部类别的所有已安装设备的信息
[DllImport("setupapi.dll", SetLastError = true)]
private static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid, uint Enumerator, IntPtr HwndParent, DIGCF Flags);
2、枚举指定设备信息集合的成员,并将数据放在SP_DEVINFO_DATA中
[DllImport("setupapi.dll", SetLastError = true)]
private static extern bool SetupDiEnumDeviceInfo(IntPtr DeviceInfoSet, uint MemberIndex, SP_DEVINFO_DATA DeviceInfoData);
3、获取设备的接口
[DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern bool SetupDiEnumDeviceInterfaces(IntPtr deviceInfoSet,SP_DEVINFO_DATA deviceInfoData,ref Guid interfaceClassGuid,int memberIndex,SP_DEVICE_INTERFACE_DATA deviceInterfaceData);
4、获取接口的详细信息 必须调用两次 第1次返回长度 第2次获取数据
[DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr deviceInfoSet,SP_DEVICE_INTERFACE_DATA deviceInterfaceData,IntPtr deviceInterfaceDetailData,int deviceInterfaceDetailDataSize,ref int requiredSize,SP_DEVINFO_DATA deviceInfoData);
5、获取指定设备的属性
[DllImport("setupapi.dll", SetLastError = true)]
private static extern bool SetupDiGetDeviceRegistryProperty(IntPtr DeviceInfoSet, SP_DEVINFO_DATA DeviceInfoData, SPDRP Property, uint PropertyRegDataType, StringBuilder PropertyBuffer, uint PropertyBufferSize, IntPtr RequiredSize);
6、获取USB接口信息
[DllImport("hid.dll")]
private static extern void HidD_GetHidGuid(ref Guid HidGuid);
[DllImport("kernel32.dll", SetLastError = true)]
private static extern SafeFileHandle CreateFileA(string lpFileName, uint dwDesiredAccess, uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition, uint dwFlagsAndAttributes, IntPtr hTemplateFile);
[DllImport("setupapi.dll", SetLastError = true)]
private static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid, uint Enumerator, IntPtr HwndParent, DIGCF Flags);
2、枚举指定设备信息集合的成员,并将数据放在SP_DEVINFO_DATA中
[DllImport("setupapi.dll", SetLastError = true)]
private static extern bool SetupDiEnumDeviceInfo(IntPtr DeviceInfoSet, uint MemberIndex, SP_DEVINFO_DATA DeviceInfoData);
3、获取设备的接口
[DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern bool SetupDiEnumDeviceInterfaces(IntPtr deviceInfoSet,SP_DEVINFO_DATA deviceInfoData,ref Guid interfaceClassGuid,int memberIndex,SP_DEVICE_INTERFACE_DATA deviceInterfaceData);
4、获取接口的详细信息 必须调用两次 第1次返回长度 第2次获取数据
[DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr deviceInfoSet,SP_DEVICE_INTERFACE_DATA deviceInterfaceData,IntPtr deviceInterfaceDetailData,int deviceInterfaceDetailDataSize,ref int requiredSize,SP_DEVINFO_DATA deviceInfoData);
5、获取指定设备的属性
[DllImport("setupapi.dll", SetLastError = true)]
private static extern bool SetupDiGetDeviceRegistryProperty(IntPtr DeviceInfoSet, SP_DEVINFO_DATA DeviceInfoData, SPDRP Property, uint PropertyRegDataType, StringBuilder PropertyBuffer, uint PropertyBufferSize, IntPtr RequiredSize);
6、获取USB接口信息
[DllImport("hid.dll")]
private static extern void HidD_GetHidGuid(ref Guid HidGuid);
[DllImport("kernel32.dll", SetLastError = true)]
private static extern SafeFileHandle CreateFileA(string lpFileName, uint dwDesiredAccess, uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition, uint dwFlagsAndAttributes, IntPtr hTemplateFile);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用用api吧。
追问
可以详细点么? 那个贴子里也用API的
追答
帖子里面,都已经那么详细了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
帖子都是09年的,是来灌水的吧
追问
只能找到这些,或者有什么别的方法?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |