我需要一些帮助在 Powershell 中实现异步事件。
作为大型 HID 项目的测试平台,我想使用 Powershell 从我从亚马逊上下来的 USB 紧急按钮读取数据。完美的解决方案是将数据回调实现为一个事件,然后可以使用 Register-ObjectEvent 进行注册。
我目前的方法是使用Hidlibrary库。我很难同时调用 Read() 或 ReadReport() 方法。它们似乎不是典型的异步回调,使用New-ScriptBlockCallback的标准解决方案不起作用。
到目前为止,我所拥有的东西可以让我拉读手柄。
Add-Type -Path .\Projects\UsbPanicButton\HidLibrary.dll
$device = [HidLibrary.HidDevices]::GetDevice('\\?\hid#vid_1130&pid_0202&mi_00#7&29add023&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}')
$device.OpenDevice()
这不起作用。(找不到过载)
$device.ReadReport((New-ScriptBlockCallback {Write-host "HI"}))
如何将 ReadReport 方法转换为可以注册的事件?