简单地说:我想知道是否可以用LibUsbDotNet来读取和编写HID特性报告.
首先,我尝试用下面的示例代码使用vid/pid查找设备
class Program
{
public static UsbDevice MyUsbDevice;
public static UsbDeviceFinder uFind = new UsbDeviceFinder(1234,4321);
static void Main(string[] args)
{
ErrorCode ec = ErrorCode.None;
try
{
// Find and open the usb device.
MyUsbDevice = UsbDevice.OpenUsbDevice(uFind);
// If the device is open and ready
if (MyUsbDevice == null) throw new Exception("Device Not Found.");但我总是找不到设备。
我已经在“设备管理器>人机界面设备”下检查过我的设备确实存在。
如果有人能提出在c#中实现相同目标的正确方法,这将是有帮助的。
以前,我试图在python(使用PyUsb )中实现同样的目标,但是缺少示例和文档使我绝望。
发布于 2013-06-27 10:40:46
在libUsbDotNet的安装文件夹中,有一个名为"inf-wizard.exe“的文件,运行该应用程序并安装libUsbDotNet用来查找驱动程序的”假驱动程序“。
如果找不到"inf-wizard.exe“,请尝试从这里下载libUsbDotNet:http://sourceforge.net/projects/libusbdotnet/
您可能必须使用设备管理器来查找特定驱动程序的Pid和Vid (即使没有找到驱动程序,也应该显示Vid和Pid )。
安装了Pid和Vid后,这个站点可能是有用的http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html。
使用代码ex中转换的整数:
//Hex Values: Pid = 4D9; Vid = 1605;
public static UsbDeviceFinder uFind = new UsbDeviceFinder(1241, 5637);Windows需要一个驱动程序来与任何类型的硬件通勤,这个过程在linux中要简单得多,请参阅链接(连接黑客)以获得一个很好的简化usb通信的方法。(这是基于linux的,但内核保持不变)
https://stackoverflow.com/questions/14655045
复制相似问题