Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 传递产品ID和供应商ID_C#_.net_Visual Studio 2010_Port_Libusb - Fatal编程技术网

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);