jjzjj

windows - DIDEVICEINSTANCE guidInstance 和 guidProduct 在同一设备上发生变化

我在一个项目中使用DirectInput8来监控电脑的各个组件。我们使用DirectInput8来监控操纵杆。通过枚举所有以DI8DEVCLASS_GAMECTRL为类型、以DIEDFL_ATTACHEDONLY为标志的操纵杆来检索数据。最近我注意到我们出现了多个操纵杆。首先,我查看了我们在两次重新启动之间存储组件的xml文件。游戏杆有两个条目,LogitechExtreme3dpro,每个条目都有一个独特的产品指南。我备份了文件并将其删除,在我重新启动机器后下次应用程序启动时有效地强制重新扫描机器。我能够让同样的问题发生并注销guids并且它们每个都不同。该系统只有一个插入的操纵杆,

windows - 直接访问 Windows 虚拟打印机端口

似乎有一种方法可以在不使用专用打印机驱动程序的情况下直接向WindowsUSB虚拟打印机端口(例如USB001)写入和读取数据。有人知道怎么做吗? 最佳答案 最简单的方法是我在原始评论中提出的方法。您可以使用您想要的任何驱动程序创建USB打印机(通用文本总是工作良好),然后将其共享。从这里您可以使用类似的方式连接到共享netuselpt1\\your_workstation\printer_share然后您可以打印到lpt1(或复制到lpt1),您将利用Windows假脱机程序将文件获取到那里。另一种选择是在代码中执行此操作,将数据

windows - 24 位 USB 采样率支持

我的问题与这个问题非常相似:Link,但我无权发表评论。我将PIC32实现为声卡,现在我有一个可用的USB音频流,支持16位32kHz和48kHz采样率。我现在想将位深度更改为24位,因此我将USB描述符更改为:bSubFrameSize=0x03,//3bytespersamplebBitResolution=0x18,//24-bitresolution当我执行此操作时,他的位分辨率会按预期更改,但在麦克风的属性中,我可以更改采样频率的下拉菜单是灰色的。我没有更改端点描述符中的任何内容,仍然支持32kHz和48kHz。我的USB拓扑有1个音频控制接口(interface)和几个单元

c# - 在 Windows 将其注册为击键之前拦截 USB 键盘数据

我一直在网上搜索一个非常具体的问题。我正在尝试做的是将两个键盘(普通USBqwerty键盘)通过两个不同的USB端口连接到我的PC,从中我可以选择哪个键盘处于“事件”状态并用于书写,而另一个键盘将用于我的应用程序中的不同命令并且无法使用。基本上拦截/断开Windows读取输入数据并将其视为特定USB端口上的击键的部分,而是给我使用数据。有什么方法最好在C#中执行此操作? 最佳答案 有一篇文章介绍了如何在C#中使用RawInput来检测连接了多个键盘时击键的来源。这可以帮助您在C#应用中配置一个键盘用于正常打字,另一个键盘用于特殊用途

java - usb4java:无法进行数据传输

我正在尝试使用usb4java(低级API)与USB连接的科学仪器进行通信,该仪器在Windows上设置为HID设备(x86和x86_64)。有一个非常古老的C++应用程序可以正常工作,但出于各种原因,我正在尝试用纯Java替换它。我可以获得设备描述符并确定接口(interface)/端点,但异步传输永远不会发生(由DeviceMonitoringStudio检查)并且永远不会调用回调。usb4java没有抛出任何异常,并且不知道我是否可以访问libusb级别的任何日志(如果可能的话)。在处理硬件方面,我是一个完全的新手,所以它很可能是我所缺少的一些非常基本的东西。只有一个端点,我不确

windows - Kinect USB 3.0 经常重连

我正在开发Kinect应用程序,在Windows10PC上使用Kinect2.0forXboxOne。现在我在使用新电脑时遇到了问题。使用KinectStudio或任何示例程序测试Kinect,Kinect不断重新连接,就好像您将拔出USB电缆并重新插入一样。如果Kinect正在运行,我会获得完整的30fps,但在连接中断之前,大多数情况下仅持续约10秒。USB3端口没有插入其他设备,我尝试了所有端口。计算机有Intel8系列/C220系列USB芯片组,我更新并重新安装了所有驱动程序。Kinect配置验证程序显示usbController存在问题:“检测到支持的USB3.0端口带宽未知

windows - 编写 UMDF 虚拟设备驱动程序(或软件设备),如 Virtual DVD

我有一个“现成的”商业软件,使用ANTUSB加密狗与自行车教练进行通信。我的培训师与软件不兼容,因为协议(protocol)略有不同(差别不大)。我的目标是编写一个协议(protocol)翻译器。我唯一能想到的是编写一个UMDF虚拟设备驱动程序(如MagicISOVirtualDVD),在设备管理器中看起来像一个ANTUSB设备(相同的PID\VID),同时将其自身连接到物理ANT设备。虚拟设备驱动程序将执行协议(protocol)转换。我在此处查看了Microsoft的几个示例https://github.com/Microsoft/Windows-driver-samples但我找

c++ - 检测正在插入的 USB 驱动器 - Windows 服务

我正在尝试检测插入到Windows服务中的USB磁盘驱动器,我已将其作为普通Windows应用程序完成。问题是以下代码不适用于卷。注册设备通知:DEV_BROADCAST_DEVICEINTERFACEnotificationFilter;HDEVNOTIFYhDeviceNotify=NULL;::ZeroMemory(¬ificationFilter,sizeof(notificationFilter));notificationFilter.dbcc_size=sizeof(DEV_BROADCAST_DEVICEINTERFACE);notificationFilter.

windows - 是否可以将 Windows 设置为在插入符合 HID 标准的 USB 设备时自动启动应用程序?

我有一个自定义的HID兼容USB设备。我想将Windows设置为在插入此设备时启动应用程序。这可以通过配置设置实现吗?或者我是否需要编写一个应用程序(例如,驻留在Windows启动时系统托盘中的应用程序)来检测设备何时插入?我知道我的佳能相机和诺基亚手机在插入时可以启动应用程序或自动播放,但它们不是HID设备。 最佳答案 您应该能够通过监视WMIWin32_DeviceChangeEvent或RegisterDeviceNotification来实现这一点。Win32_DeviceChangeEvent:http://msdn.mi

windows - 在 Windows 上读取原始 USB 输入

我有一个USBHID人机接口(interface)设备,当我按下按键时,它会向USB主机发送键码,但我找不到一个简单的程序来转储USB端口中的所有输入数据?(当然有源代码可用。USBlyzer可以做到,但它是共享软件) 最佳答案 查看libusb和#USBLib两者都是开源的。#USBLib是一个围绕多平台libusb的.net包装器。 关于windows-在Windows上读取原始USB输入,我们在StackOverflow上找到一个类似的问题: https