我正在尝试从USB HID设备阅读,我知道如何使用dllimport Hid.dll在C#中进行此操作,但是我想从C ++进行操作,这样我就不必声明所有结构等等,只包括标题文件. 所以我下载了#include extern "C" { #include } int main(){ } 错误(163分中的6个): Error 1 error C2065: 'PASSIVE_LEVEL' : undeclared identifier c:\winddk\7600.16385.1\inc\api\hidpi.h 302 driver Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\winddk\7600.16385.1\inc\api\hidpi.h
以下是关于 hid 的编程技术问答
我正在通过Mac上的VirtualBox运行Ubuntu 14.04lts,64位.我想通过Python应用程序(PYUSB)从我的VM与USB HID设备进行交谈,但我无法选择该设备.来自VirtualBox->设备 - > USB设备,我看到了我的设备,但已变灰. 我希望找到一个可以在Mac终端上运行的命令来"放开",但事实证明它比我想象的要困难.在通过Windows 7的Ubuntu VM上,我可以通过设备控制USB HID设备 - > USB设备 - >选择我的设备并可以很好地交谈. 是否有某种原因在Mac上可能无法进行? 解决方案 没有"在主机OS中删除在VM的OS中"的概念. 要获得正常的插件设备来工作: 关闭来宾机器. 突出显示VirtualBox面板中的客人. 转到该VM->端口 - > USB 的设置 单击绿色加图标以添加您的设备. 现在应该可以看到您的USB设备,单击以添加. 从您的物理机器上卸下USB设备 启动VB和访客O
我有一个ActiveX DLL,目前从串行端口读取.现在,我希望它接受USB设备的输入. USB设备充当标准的人接口设备.也就是说,如果我打开记事本,那么设备的输出将出现在记事本,就好像它在键盘上键入一样. 通常,我会捕获钥匙上/下的事件,但是我认为我需要一个表格,而我的dll没有表格. 如何捕获该输入? [update]我找到了这个 http://us.generation-nt.com/answer/anyone-know-how-read-read-keyboard-input-input-within-an-activex-dll-help-793444444.444.44.42.html #声称要这样做的,但是那里的代码无法正常工作AddressOf运算符,该代码只能在.bas文件中使用,因此不在dll .cls .cls 中 我什至不确定我是否正在寻找特定于系统的宽钩或应用程序. hmmm, http://wwwwww.xtrememevbt
我已经为此而苦苦挣扎了一段时间,尝试各种事情来使它起作用.我的理解是,setupDigetDeviceInterfacedEtail应该在第一次出现1784错误,因为首次将其调用的唯一目的是将必需的设置设置为正确的值.它第二次被称为,它应该实际工作并给我一个有效的DeviceInterFacedEtailData结构.我不确定是什么导致第二个通话失败的原因. 结构定义: _ Public Structure SP_DEVICE_INTERFACE_DETAIL_DATA Public cbSize As UInt32 _ Public DevicePath As String End Structure Public Structure SP_DEVICE_INTERFA
我正在使用Wacom Bamboo Pen平板电脑,我希望能够在C#编写的应用中获得其笔压力值.我怎么做?是否有一个API允许一个人在Windows 7上获得笔值? 解决方案 Wacom提供广泛的API 直接从平板电脑中获取数据.API包括检测压力,倾斜和其他相互作用的示例代码: tilt tilt test 橡皮图和笔倾斜属性 压力测试 :演示如何检测并显示笔压力 这些代码示例在C中,但是在C#.NET中也有一些示例包括用于处理压力的代码: wintabdn 使用WINTAB .NET 控制样品 以此项目为例,您可以得到这样的压力: // Create a data object and hook a packetlistener to receive // updatse by the tablet m_wtData = new CWintabData(); m_wtData.SetWTPacketEventHandler(handler);
我正在使用Python 3.9.6来管理HID继电器板我可以使用枚举命令阅读董事会的供应商ID 1305和产品ID 8216,然后我尝试了一些命令: >>> device = hid.Device(1305,8216) >>> device.manufacturer 'Ucreatefun.com' >>> device.product 'HIDRelay' >>> device.serial 'A0001' 现在我想使用" device.write"来管理板上的继电器,我该怎么做? 从继电器板的手册中: "通道1 Open:0x00 0xf1,关闭:0x00 0x01" 不幸的是,当我尝试此操作时,它不起作用: >>> device.write([0x00,0xF1]) Traceback (most recent call last): File "", line 1, in device.write([0x00,
我处于为现有POS程序开发同伴应用程序的初始阶段.基本上,我正在寻找类似功能的引脚垫.我们有一个TARGUS USB数字键盘,希望客户可以输入PIN号码. (这不是用于付款系统,而是客户帐户验证).主POS程序将运行,但是我需要我的应用程序在后台运行并等待输入PIN,然后将其进行身份验证. 可能的解决方案#1: 我从Code Project下载了一个示例项目,该项目通过VID&PID解决了USB HID设备.这将是完美的,但是键盘受到Windows的保护,无法通过这种方式访问.有没有一种方法可以"保留" Windows中的键盘,因此它仍然是隐藏的设备,但不被视为键盘? 可能的解决方案#2: 有一些键盘钩的样本,但是这些键盘无法正常工作,因为键盘输出仍将转到POS应用程序.无论哪个程序都有焦点,我都需要键盘输出才能进入我的背景应用程序.有没有办法将输出从特定键盘重定向到特定应用程序? 这将在远程位置将其推广到100+ POS终端,因此不需要重新配置Windows的解决
我正在尝试将USPS邮费量表与C#应用程序集成在一起,但我没有运气.我实际上有2个量表,一个是梅特勒托莱多PS60,另一个是USPS PS-100( http://www.measurement-ltd.com/ps-100-det.html ). MT量表与Mike O'Brien的Hidlibrary( https://github.com/mikeobrien/mikeobrien/mikeobrien/hidlibrary ) ).但是,USPS量表没有(请注意,这不是Stamps.com量表,它似乎与Hidlibrary一起使用).我知道该量表之所以有效,是因为我从USPS下载了邮费计量软件,并且读取量表很好. 我还下载了一个USB分析仪,当没有其他应用程序与之交谈时,它没有显示出从规模中回来的,因此这表明它不会不断发送数据,需要进行轮询.我进一步通过启动USPS邮政计量软件来证实这一点,分析仪开始显示与设备的数据.但是,这些数据对我来说没有任何意义,也没有运气在我自己的
我需要获取有关Windows计算机上插入HID设备的IDPropoduct和Idvendor的信息.如何获得给定的HID设备的USB_DEVICE_DESCRIPTOR? 我搜索了Internet,但是我只找到了使用Winusb库查询的设备的示例并获取USB_DEVICE_DESCRIPTOR.我的理解是,我无法将winusb用于插入HID设备. 那我需要用于HID设备什么? 解决方案 如果您正在使用 hidlibrary ,您可以得到这样的设备: _device = HidDevices.Enumerate(VendorId, ProductId, UsagePage).FirstOrDefault(); if (_device != null) { _device.OpenDevice(); string product = GetProductString(_device); string mfg = GetManufacturerS
我正在实现USB触摸屏接口,该接口需要在Android上工作. 来自// Mouse 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x02, // USAGE (Mouse) 0xa1, 0x01, // COLLECTION (Application) 0x85, 0x02, // REPORT_ID (2) 0x09, 0x01, // USAGE (Pointer) 0xa1, 0x00, // COLLECTION (Physical) // X, Y movement 0x09, 0x30, // USAGE (X) 0x09, 0x31, // USAGE (Y) 0x26, 0xff, 0x7f, // LOGICAL_MAXIMUM (32767) 0x75, 0x10, // REPORT_SIZE (16) 0x95, 0x02, // REPORT_COUNT (2) 0x81, 0x42, // INP
我正在使用 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() {
我从事一个项目,我需要在服务上获取键盘和鼠标的数据.我还必须能够将数据发送到我的设备隐藏.为此,我想使用USB主机模式.当我获得设备列表时,我可以看到一个质量存储,但没有鼠标和键盘.搜索后,我看到Usbmanager不返回鼠标和键盘设备.我试图更改Whitout成功的权限(ON/SYSTEM/ETC/权限). 我已经运行了该应用程序 usb设备信息我看到了鼠标和键盘Linux设备,而不是在Android设备上. 我使用Android 4.2.2. 是否可以使用USB主机获得鼠标(和键盘)的HID数据,或者我必须找到其他方式? 谢谢您的帮助 解决方案 您可以通过InputManager检测鼠标/键盘: if(Build.VERSION.SDK_INT > 15) { InputManager inptmgr = (InputManager)getSystemService(INPUT_SERVICE); int[] inputs = inptmgr
我有一个相当简单的USB HID设备,我一直在试图弄清楚如何阅读和写入使用Python.我已经能够使用Pywinusb从中读取它,但是当我尝试写信时,问题出现了.试图写信给它爆炸. 例如: device = hid.HidDeviceFilter(vendor_id = 0x0003, product_id = 0x1001).get_devices()[0] 这很好.然后,要读取原始数据,这就是我现在关心的全部(一旦我能弄清楚如何写入被诅咒的东西,我就可以使用它): def readData(data): print(data) return None 这很好(实际上,当我看到它起作用时,这非常令人兴奋).因此,我会这样分配数据处理程序: device.set_raw_data_handler(readData) 每次我按下按钮时,都很好.数据通过您期望的.这很棒! 当我想写入设备时,问题出现了. 按照示例simple_send
我有一个条形码扫描仪,没有任何TTY连接到我的RASPI,这意味着没有显示器的无头.换句话说,数字输入的键盘记录器.该扫描仪读取GTIN或EAN等数值条形码.它有效,脚本是由SH启动的.我使用的脚本看起来像: import sys tStr = '' while 1: fp = open('/dev/hidraw3', 'rb') buffer = fp.read(8) for c in buffer: if c: if c == 40 or c == 88: # [ENTER-key] function_to_handle_result (tStr) tStr = '' elif
早上好. 我购买了带有电阻触摸屏的LCD嵌入式显示器. TS可通过USB插入. 我已经将其连接到运行Android 4.0.3的设备,并且触摸被正确识别为外部HID. 问题:敲击(按下)不被认为是选择/确认...唯一发生的事情是,当我点击屏幕时,是在我的手指协调的Corrispondance中移动指针(箭头).鼠标躲藏而没有左左键 我不可能滚动或选择一些东西 - >对我来说很麻烦:( 请记住,我还有另一个LCD,其集成的USB ts可以在本体上起作用.我可以选择图标,以防万一我点击它们,并且可以滚动窗口等 - >完全像带有左键的鼠标总是单击 - >对我来说!!! ! 也许这是驱动程序的问题,但我没有具体的想法. P.S.我没有该设备的特定驱动程序. 有没有建议?请帮助我:) 预先感谢您!!!!! 解决方案 您需要为设备创建 .idc 配置文件. 此处描述的过程输入 - 设备 - 配置文件.html 例如,如果您的设备带有名