C# 传递产品ID和供应商ID
我正在尝试使用C# 传递产品ID和供应商ID,c#,.net,visual-studio-2010,port,libusb,C#,.net,Visual Studio 2010,Port,Libusb,我正在尝试使用LibUSBDotNetlibrary()获取加密狗(GSM调制解调器)的详细信息 以下是我的尝试 using System; using System.Collections.Generic; using System.Linq; using System.Text; using LibUsbDotNet; using LibUsbDotNet.Descriptors; using LibUsbDotNet.DeviceNotify; using LibUsbDotNet.Inf
LibUSBDotNet
library()获取加密狗(GSM调制解调器)的详细信息
以下是我的尝试
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LibUsbDotNet;
using LibUsbDotNet.Descriptors;
using LibUsbDotNet.DeviceNotify;
using LibUsbDotNet.Info;
using LibUsbDotNet.LibUsb;
using LibUsbDotNet.LudnMonoLibUsb;
using LibUsbDotNet.Main;
using LibUsbDotNet.WinUsb;
namespace LibUsbDotNet_Test1
{
class Program
{
static void Main(string[] args)
{
//RetrieveUSBDevices(12d1, 140c);
}
public static void RetrieveUSBDevices(int vid, int pid)
{
var usbFinder = new UsbDeviceFinder(vid, pid);
var usbDevices = new UsbRegDeviceList();
var en = usbDevices.GetEnumerator();
while (en.MoveNext())
{
Console.WriteLine(en.ToString());
}
}
}
}
不幸的是,似乎我需要将产品ID(PID)和Vensor ID(VID)作为整数传递。但是我的PID和VID包含字母!请看下图,它显示了有关我的设备的详细信息
在这种情况下,我如何通过PID和VID?还是我做错了什么?我需要打印设备描述并获取加密狗的“端口名”,这就是为什么我要做所有这些来识别它。看起来VendorID和ProductID是十六进制数,但您使用的库需要整数
string productID = "140c";
int pid = Convert.ToInt32(productID, 16);
// or if you don't like "base 16" and want to have self-documenting code:
pid = Int32.Parse(productID, System.Globalization.NumberStyles.HexNumber);