永发信息网

C#如何获取由USB输入的数据

答案:3  悬赏:0  手机版
解决时间 2021-01-23 23:52
  • 提问者网友:城市野鹿
  • 2021-01-23 19:20
或者帮详细解释下http://bbs.csdn.net/topics/320000607帖子里52#的代码,如获取的数据都在哪些变量里,如何显示出来
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-01-23 20:42
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);
全部回答
  • 1楼网友:舊物识亽
  • 2021-01-23 22:29
你是什么接口的usb 串口 hid 还是什么
  • 2楼网友:老鼠爱大米
  • 2021-01-23 21:55
你用用api吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯