如何在使用blink1 HidLibrary的类中建立连接/断开连接事件处理程序



我试图检测这个特定USB设备(blink1)的两个事件:插入和删除

我已经成功地枚举了设备,并且可以发送命令,尽管我很难建立委托并触发任何一个事件。

HidLibrary.cs库包含两个名为"InsertedEventHandler"、"RemovedEventHandler"的事件处理程序和函数"DeviceEventMonitorInserted"、"DeviceEventMonitoringRemoved",它们似乎附加到HidDeviceEventMonitors.cs类的实例。我正试图在调用类中建立连接/断开连接/重新连接方法,在调用类中将HidLibrary类用作:

using HidLibrary
...
private HidDevice hidDevice;
...
hidDevice.command(var1, var2, ..);

我觉得这是一项简单的任务,过去我在C#中建立并与事件处理程序、路由事件和委托进行了有限的合作,但在处理这种特殊情况时,我似乎错过了一个关键概念。

更新:如果其他人在使用blink1 HidLibrary时遇到此问题,要启用EventMonitor,必须在HidDevice实例上调用OpenDevice()后设置hidDevice.MonitorDeviceEvents = true。这一点在任何文档中都没有,只有在事件路由确定后才变得明显。

我没有任何Blink1设备,但在花了几分钟的时间编写代码后,我认为这可能会起作用:

public static void Main()
{
HidDevice device;
// device declaration
device.Inserted += Device_Inserted;
device.Removed += Device_Removed;
}
private static void Device_Removed()
{
// Some stuff to do when device is removed
throw new NotImplementedException();
}
private static void Device_Inserted()
{
// Some stuff to do when device is inserted
throw new NotImplementedException();
}

最新更新