Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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# “发送USB”;“键盘”;一组用于切换USB模式的输出报告_C#_Windows_Winapi_Keyboard_Usb - Fatal编程技术网

C# “发送USB”;“键盘”;一组用于切换USB模式的输出报告

C# “发送USB”;“键盘”;一组用于切换USB模式的输出报告,c#,windows,winapi,keyboard,usb,C#,Windows,Winapi,Keyboard,Usb,我有一个摄像头,最初显示为USB键盘,需要发送一个序列,然后才能将USB连接重置为USB HID设备。此序列是一组输出报告(每个报告1字节)设置和清除“LED状态”标志。有时相机会作为USB HID设备连接,但仍然需要序列 我的两个问题是: 如何让Windows按正确的顺序发送此“键盘” 如何更改输出报告数据包大小(即,将其设置为1+报告ID号,而不是其发送的64+报告ID号) 安装USBView或USB设备树查看器并发布屏幕截图或其他内容。通常,这可以通过USB控制请求()或USB HID功能

我有一个摄像头,最初显示为USB键盘,需要发送一个序列,然后才能将USB连接重置为USB HID设备。此序列是一组输出报告(每个报告1字节)设置和清除“LED状态”标志。有时相机会作为USB HID设备连接,但仍然需要序列

我的两个问题是:

  • 如何让Windows按正确的顺序发送此“键盘”

  • 如何更改输出报告数据包大小(即,将其设置为1+报告ID号,而不是其发送的64+报告ID号)


  • 安装USBView或USB设备树查看器并发布屏幕截图或其他内容。通常,这可以通过USB控制请求()或USB HID功能报告(,)来完成,而不需要更多关于设备中USB树内部结构的信息。这是不可能的…

    相机是条形码/QR读取器。如果它作为键盘连接,Windows将不允许我通过HID API触摸它。我将不得不查看哪一个功能字节需要更改,因为在极少数情况下,它作为HID设备连接,但认为它处于键盘模式。条形码扫描器显示为键盘经常看到的,即,这尤其是最低的示例。关键是使用条形码扫描仪生成的事件。每当扫描仪发送包含扫描数据的HID报告时,都会触发一个事件。您可以捕获和处理事件,您不必在另一个模式下设置条形码扫描程序,以便在windows中进行事件处理。请参见,我需要将条形码扫描仪从键盘模式中取出,以便充分使用它以满足我的需要。这需要我向它发送一系列输出报告,但Windows保留对该设备的独占访问权。顺序是设置和清除“led状态灯”。通常只有进程才能获得独占访问。是哪一个过程抓住了bs?