从第二个键盘上重新引导键盘输入
我处于为现有POS程序开发同伴应用程序的初始阶段.基本上,我正在寻找类似功能的引脚垫.我们有一个TARGUS USB数字键盘,希望客户可以输入PIN号码. (这不是用于付款系统,而是客户帐户验证).主POS程序将运行,但是我需要我的应用程序在后台运行并等待输入PIN,然后将其进行身份验证. 可能的解决方案#1: 我从Code Project下载了一个示例项目,该项目通过VID&PID解决了USB HID设备.这将是完美的,但是键盘受到Windows的保护,无法通过这种方式访问​​.有没有一种方法可以"保留" Windows中的键盘,因此它仍然是隐藏的设备,但不被视为键盘? 可能的解决方案#2: 有一些键盘钩的样本,但是这些键盘无法正常工作,因为键盘输出仍将转到POS应用程序.无论哪个程序都有焦点,我都需要键盘输出才能进入我的背景应用程序.有没有办法将输出从特定键盘重定向到特定应用程序? 这将在远程位置将其推广到100+ POS终端,因此不需要重新配置Windows的解决
14 2024-04-26
编程技术问答社区
如何用BluetoothDeviceInfo的信息识别HID设备或反之亦然
我正在尝试编写一个程序,该程序使Wiimotes和Windows配对的管理更简单和自动化.该程序使用 wiimotelib .com/en-us/windows-hardware/drivers/ddi/content/hidsdi/" rel =" nofollow noreferrer" title =" hidsdi.h"> hidsdi.h 和 setupapi.h ))连接到Wiimote设备=" https://github.com/inthehand/32feet/wiki" rel =" nofollow noreferrer"> 32feet (使用 Windows蓝牙API )自动配对/Undair设备.配对/Untaurar的代码基于 Wiipair .目前,该过程有点颠簸且缓慢,但它起作用. (但仅适用于一个Wiimote) 问题在于,我的模块配对/UNARAIR蓝牙设备没有有关如何识别HID设备(Wiimote类使用的)是否是同一设备的信息.如果蓝牙设备已
14 2024-04-26
编程技术问答社区
WriteFile返回错误代码87
我正在处理一个正在写入HID设备的程序,并在WriteFile函数上获取错误87,无效参数.我从Jan Axelson的USB完成了功能,因此我不确定为什么会遇到错误. 我正在使用它来查找我的设备: private void USBInit() { IntPtr deviceInfoSet; Int32 memberIndex = 0; SP_DEVICE_INTERFACE_DATA MyDeviceInterfaceData = new SP_DEVICE_INTERFACE_DATA(); Int32 bufferSize = 0; IntPtr detailDataBuffer; Boolean success = false; deviceFound = false; HidD_GetHidGuid(ref hidGuid);
24 2024-04-23
编程技术问答社区
以HID方式连接数字秤(梅特勒-托利多PS90),只有当电缆首次连接到计算机时,才会运行OnReport。
我正在使用 Mike O Brien的Hid库连接到数字规模, 设备成功打开,然后完美地显示附加和删除消息的设备.但最初只能在股票上进行大约20次 在Reeport上运行大约20个之后,它将再也不会运行,除非我卸下USB电缆并重新连接. . 我的代码在 下面 if (scale.IsConnected) { scale.Inserted += DeviceAttachedHandler; scale.Removed += DeviceRemovedHandler; scale.MonitorDeviceEvents = true; scale.ReadReport(OnReport); MessageBox.Show("Hold Application Here"); 规模的事件处理程序 private void DeviceAttachedHandler() {
16 2024-04-23
编程技术问答社区
如何列举所有HID设备?C#
我需要枚举连接到我的PC的所有HID设备.我尝试使用这个答案,但它枚举了USBHUB设备,我找不到我的HID设备. 编辑: 我很高兴知道是否有任何Win32 API方法,可以使用PID和VID获得USB设备状态(在线/离线)? 解决方案 检查此链接这是您在问题中指定的HID设备的一个问题: 使用C 其他解决方案 我找到了答案. 此链接解释了如何使用ManagementObjectSearcher进行此链接. 感谢所有回答的人! 其他解决方案 您可以用这样的Windows API列举HID设备: public static Collection GetConnectedDeviceInformations() { var deviceInformations = new Collection();
20 2024-04-20
编程技术问答社区
HID(USB)的.NET API?
使用USB HID(人界面)设备中的.NET(C#)中有API? 解决方案 hidlibrary 包含所有 p/indoke 呼吁您.但是不,看起来没有任何不错的框架API用于处理USB设备. 其他解决方案 这可能很有用,尤其是当您尝试使用原始HID报告进行通信时.我还其他解决方案 没有什么直接或高级的.您可以通过托管 wmi api,但我个人发现一个API WMI与硬件的互动充其量充其量是神秘的,需要大量的试用和错误才能完成您想要的事情. 某人在代码项目上已开发了.NET USB HID的组件您可以尝试一下,这可能比WMI更适合账单.
20 2024-04-14
编程技术问答社区
如何从USB HID设备上读取输入?
我正在提出一个申请,以在销售人员的背景下运行,以从USB扫描仪阅读输入. 如何从C#获得扫描仪的输入? 我可以区分扫描仪和USB键盘吗? (扫描仪是HID设备) 解决方案 我在CodeProject上成功地使用了"原始输入"实现: 它允许您接收输入(如果模仿"键盘",按什么"键"按下什么键),也可以区分它来自哪种设备.
4 2024-04-11
编程技术问答社区
USB隐藏了设备
我正在寻找两件事之一 1-使用Florian's Library的代码的工作示例,来自: http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/ 这似乎是更好(唯一的???)C#/HID库之一,但作者已经消失了,我似乎无法获得代码示例.我拥有的代码是: { USBHIDDRIVER.USBInterface usb = new USBInterface(myvid,mypid); if (usb.Connect()) MessageBox.Show(”connection!”); else MessageBox.Show(”FAIL”); usb.enableUsbBufferEvent(new System.EventHandler(myEventCacher)); usb.startRead(); }
10 2024-04-11
编程技术问答社区
(Windows HID API)HIDD_GETPREPARSEDDATA()由于句柄不正确而导致WM_Input消息处理程序中的失败?
我正在尝试将Apple Magic TrackaD 2(最终的Windows Precision TouchPad)编写自定义处理,并将其编写到Windows桌面应用程序中.我正在使用这个项目作为指导,因为它实现了类似的目标.我正处于注册HID触摸板的那一刻,并且能够在下面的代码中接收WM_Input消息.请注意,我确实必须下载开放式驱动器正确并触发wm_input消息. afx_msg void CSimulatorWnd::OnRawInput( UINT nInputCode, HRAWINPUT hRawInput ) { /*---------------------------------------------------------- Local variables ----------------------------------------------------------*/ HIDP_CAPS hid_capabilities; UINT data_si
10 2024-04-09
编程技术问答社区
捕获HID键盘事件
下面的代码仅适用于一个输入设备.不幸的是,我需要捕获大约12个不同的HID设备(RFID读取器),因此我想知道是否有人知道如何适应代码与12个不同的输入使用? #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char* argv[]) { struct input_event ev[64]; in
22 2024-04-09
编程技术问答社区
如何在OS X上模拟低级别的按键?
我试图以编程方式生成键盘键盘和键盘事件.我目前正在使用CGPostKeyboardEvent来做到这一点,但是我正在寻找一种在较低级别上执行此操作的方法.我看过DDHIDLIB,但无法找到一种创建假事件的方法.谁能帮忙? 更新: 多亏了Weichsel的建议,我现在正在创建一个关键事件,其中以下内容: CGEventRef e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)52, true); CGEventPost(kCGSessionEventTap, e); CFRelease(e); 我找到了在这里 但是,,我的问题仍然存在,因此我会详细说明.我想将键盘发送到实施的应用程序(第三方) > ddhidlib的密钥捕获功能: - (void) ddhidKeyboard: (DDHidKeyboard *) keyboard keyDown: (unsigned) usage
14 2024-04-06
编程技术问答社区
为Windows 10上的BLE GATT设备开发一个HID输入设备驱动程序
(这是来自MSDN论坛的crosspost ,因为那里已经有很长时间没有任何回应以为我会在这里得到更好的答案.) 我有一个包含自定义Gatt服务的BLE设备,我无法修改固件.我想收听该服务中的GATT特性事件,并使Windows在HID报告中消耗它们以使Windows识别为另一个设备.我该怎么做? 我进行了一些研究,并找到了以下信息: 有为了从非HID设备注入HID报告,您需要使用虚拟HID框架对于其中有一个更详细的页面和样本. 还有一个似乎是 有一个在将它们用于客户端应用程序上(不是驱动程序) 我的问题是,这里需要哪种方法来创建此驱动程序? 我需要创建两个驱动程序(一个虚拟的HID驱动程序和一个Gatt配置文件驱动程序),然后以某种方式将它们连接起来? 我需要从虚拟HID驱动程序中拨打蓝牙LE API吗? 我需要创建一个hid呼叫的gatt配置文件驱动程序吗? 或其他完全是什么? GATT配置文件驱动程序甚至仍然允许在Windows 10上,
22 2024-04-01
编程技术问答社区
检测蓝牙遥控器上的按钮(HID over GATT)。
我有一个蓝牙LE遥控器,我想将其与Raspberry Pi零配对. ] 我能够成功将遥控器与Android手机配对,然后它像键盘一样工作,我能够在键盘上键入空白,甚至更改手机上的音量. it raspbian 我可以使用lescan在Linux终端中发现遥控器: sudo hcitool lescan ... AA:BB:CC:DD:EE:FF FancyRemoteXY 现在在Gatttool中,我可以与遥控器配对.但是,几秒钟后,遥控器不断闪烁白色,导致遥控器与我的pi断开连接. Android手机不会发生这种情况.因此,遥控器和主机之间必须有某种握手,以便保留连接. # Press 1 & 3 to unpair the remote from existing devices gatttool -I -b AA:BB:CC:DD:EE:FF connect # Press the OK button on the remote 我现在可
10 2024-04-01
编程技术问答社区
创建iOS BLE HID服务?
我试图创建一个实现HID服务的简单" Hello World"应用程序(即我的应用程序充当简单的HID按钮). 但是,在尝试此操作时,我会收到错误The specified UUID is not allowed for this operation将我的服务添加到CBPeripheralManager实例之后.添加任何"通用"(随机UUID)服务工作,而其他内置的内置器(例如心率监视器)正常工作,但我特别好奇的是HID服务. 我找到了这个线程表明这是支持因为HID已被更改(但这似乎位于中央方面,这更有意义,因为在ios7中对HID的内在支持更为有意义. 文档未提及任何服务都不支持. 难道苹果删除了ios7中的隐藏外围支撑吗?如果是这样,是否在某个地方记录了? 解决方案 我将回答自己的问题,并希望能够帮助他人解决同样的问题.我去了消息来源,询问了苹果的技术支持. HID支持是有意保留给iOS的,他们将更新文档以澄清这一点. 这意味着无法从iOS 7中的iO
14 2024-04-01
编程技术问答社区
用于OS X的虚拟HID-键盘
我正在尝试为Mac OS创建虚拟蓝牙键盘客户端.这意味着我的Mac将用作BT KB.我在OS X(在OBJC中)中读到了有关蓝牙API的信息,我还发现了Mac的HID API(in C) 要使这项工作我知道我需要声明应该在SDP查询上播放的Hid-Keyboard服务. 如果我使用HID API声明了HID服务,我的服务是否也可以在蓝牙上看到/广播? (这些文件似乎仅指关于USB的隐藏). - HID服务在蓝牙和USB接口上是否可见,并且底层连接对我来说是透明的? 是否有任何代码可以帮助我了解这一点?我更喜欢objc,但似乎隐藏了API仅是C ... :( 谢谢... 据我了解, 解决方案 HID设备驱动程序在OS和OS上代表一个设备代表其他各种组件.它不用于在USB或蓝牙上"广播".据我所知,OS X不包括蓝牙HID服务,Macs中的OS X和USB芯片组也不支持USB设备模式 - 或者至少它们不会暴露它. 您将要编写蓝牙服务.我还没有这样做,但是由于我
24 2024-04-01
编程技术问答社区
如何对USB/HID/BlueTooth加密狗进行反向工程。使用什么工具?
需要逆向工程蓝牙USB鼠标加密狗,并使用鼠标板测量距离,并用 matplotlib 我找到了可以帮助完成此任务的这些工具: linux lsusb USBMON USBHID-DUMP rfcomm Hidrd-Convert xxd hcitool evdev-dump Windows usblyser 参考书目: https://www.silabs.com/support 文档/技术DOCS/AN249.PDF www.usb.org/developers/devclass_docs/hid1_11.pdf usbhid -dump -digimend -digimend linux,hid和pyusb Magtek信用卡读取器 evdev -dump -digimend -digimend 示例: lnx#> lsusb -s 2 Bus 005 Device 002: ID 0a12:0001 Ca
22 2024-04-01
编程技术问答社区
如何在Android上以编程方式配对和连接HID蓝牙设备(蓝牙键盘)?
我能够配对蓝牙键盘,但无法连接以使其成为输入设备. 我浏览了开发人员网站上提供的文档 - . 它说Android蓝牙API为以下蓝牙配置文件提供了实现,但是您可以实现接口蓝牙Profile来编写自己的类以支持特定的蓝牙配置文件. . 耳机 A2DP 健康设备 没有文档如何实现HID蓝牙设备(键盘) Android本身已经为HID设备实现了蓝牙连接,但这些API被隐藏了.我也尝试使用它们来使用它们.我没有任何错误,但是键盘不会被连接为输入设备.这就是我所做的 - private void connect(final BluetoothDevice bluetoothDevice) { if(bluetoothDevice.getBluetoothClass().getDeviceClass() == 1344){ final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.g
12 2024-04-01
编程技术问答社区
模仿蓝牙人界面设备
我想知道应用程序是否可以通过Android设备的蓝牙模拟人类接口设备. 在我的上下文中,这将是一个模拟鼠标的应用程序,该应用程序应由计算机识别为蓝牙鼠标.理想情况下,这应该可以在Java中实现. 我知道这个问题过去曾多次问过,但我想知道是否有新的非外在可能性. 解决方案 这应该在Android Pie中,然后使用HID设备配置文件,但是许多中国制造商忽略了实施HID配置文件.您可以检查手机是否支持蓝牙HID设备配置文件 - https://play.google.com/store/apps/details?id=com.rkaneapplabs.bluetooth_hid.bluetoothproxy Android Pie并应支持. 在发现期间,Android应用程序将发布SDP Service Record,计算机可以在其中发现Android设备支持HID Profile. Android设备仍将被标识为原始设备(COD).大多数PC在手机上的BT鼠标应用
12 2024-04-01
编程技术问答社区
连接到特定的HID配置文件蓝牙设备
我将蓝牙条形码扫描仪连接到我的Android平板电脑.条形码扫描仪与Android设备作为输入设备 - HID配置文件键合.它在系统蓝牙管理器中显示为键盘或鼠标.我发现存在蓝牙配置文件输入设备类,但隐藏了.类和BTProfile常数在Android文档中具有@hide Annotaions. 隐藏类: http://grepcode.com/file/repository.grepcode.com/java/java/ext/com.google.android/android/4.3.1_r1/android/android/bluet/bluetoot/bluetoothethin/bluetoothinputhinpothinputhinputdevice.java > 在这里它们也应该是其他3个常数 drevailer.android.com/reference.com/reference/Reference/Reference/Android/android
16 2024-04-01
编程技术问答社区
如何与蓝牙键盘对话?
我编写了一个连接到蓝牙键盘的Android应用程序.它通过BT插座连接到键盘并获取插座的输入流. InputStream inStrm = socket.getInputStream(); 接下来我尝试读取输入流,但说没有可用的字节. int nBytesAvail = inStrm.available(); // always gives me 0 或 int dataByte = inStrm.read(); // always generates IOException 例外说:软件导致与中止的连接 如果我尝试写入流,我会得到另一个例外:未连接传输端点. 可能会发生两件事之一. 我的第一个担心是要对键盘说隐藏协议,直到我说出适当的咒语之前,它不会泄露其秘密.那是对的吗?还是应该自动照顾BT插座?插座流似乎是标准串行流,我不确定这是正确的. 我的第二次担心是,由于这是一个星系选项卡,所以我的问题可能只是三星已将OS的特定部分删除
10 2024-04-01
编程技术问答社区