开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 413|回复: 11
打印 上一主题 下一主题
收起左侧

[易语言支持库] hidapi 支持库 用于与HID设备通信

[复制链接]
结帖率:89% (81/91)
跳转到指定楼层
楼主
发表于 2025-5-20 19:56:59 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   江苏省苏州市
本帖最后由 z13228604287 于 2025-5-20 20:02 编辑

https://github.com/libusb/hidapi
理想很丰满 ,现实很骨感  不会用
  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
设备信息指针整数型 
遍历指针整数型 
设备信息HID设备信息结构体 
设备句柄整数型 
缓冲区字节集 
i整数型 
hid_初始化 ()
设备信息指针 = hid_枚举设备 (0, 0)
如果真 (设备信息指针 ≠ 0)
遍历指针 = 设备信息指针
判断循环首 (遍历指针 ≠ 0)
设备信息 = hid_取设备信息 (遍历指针)
' 通常,鼠标的使用页为 0x01,使用为 0x02;键盘的使用页为 0x01,使用为 0x06。
判断 (设备信息.使用_页 = 1 设备信息.使用 = 2)
调试输出 (“鼠标”)
判断 (设备信息.使用_页 = 1 设备信息.使用 = 6)
调试输出 (“键盘”)
遍历指针 = 设备信息.下个设备
到循环尾 ()
调试输出 (“路径”, 设备信息.路径)
调试输出 (“厂商_ID”, 设备信息.厂商_ID)
调试输出 (“产品_ID”, 设备信息.产品_ID)
调试输出 (“序列号”, 设备信息.序列号)
调试输出 (“设备版本号”, 设备信息.设备版本号)
调试输出 (“厂商_字符串”, 设备信息.厂商_字符串)
调试输出 (“产品_字符串”, 设备信息.产品_字符串)
调试输出 (“使用_页”, 设备信息.使用_页)
调试输出 (“使用”, 设备信息.使用)
调试输出 (“接口编号”, 设备信息.接口编号)
调试输出 (“总线类型”, 设备信息.总线类型)
调试输出 (“-------------------”)
遍历指针 = 设备信息.下个设备
判断循环尾 ()
hid_释放枚举链表 (设备信息指针)

设备句柄 = hid_打开路径 (“\\?\HID#VID_18F8&PID_0F97&MI_01&Col01#7&119785b8&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD”)
如果真 (设备句柄 ≠ 0)
hid_设置阻塞模式 (设备句柄, 1)
缓冲区 = 取空白字节集 (256)
计次循环首 (1000, i)
如果真 (hid_读 (设备句柄, 缓冲区) ≠ -1)
调试输出 (缓冲区)
暂停 ()

计次循环尾 ()
hid_关闭 (设备句柄)

调试输出 (设备句柄)
hid_结束 ()
调试输出 (“完成”)
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
HID(未知支持库)
spec特殊功能支持库

HID.zip

69.39 KB, 下载次数: 18, 下载积分: 精币 -2 枚

结帖率:89% (81/91)

签到天数: 6 天

来自 9楼
 楼主| 发表于 2025-6-13 09:09:42 | 只看该作者   江苏省苏州市
本帖最后由 z13228604287 于 2025-6-13 09:11 编辑


[mw_shl_code=cpp,true]       
// Toggle LED (cmd 0x80). The first byte is the report number (0x0).
        buf[0] = 0x0;
        buf[1] = 0x80;
        res = hid_write(handle, buf, 65);

        // Request state (cmd 0x81). The first byte is the report number (0x0).
        buf[0] = 0x0;
        buf[1] = 0x81;
        res = hid_write(handle, buf, 65);

        // Read requested state
        res = hid_read(handle, buf, 65);
/mw_shl_code]


回复 支持 反对

使用道具 举报

结帖率:50% (3/6)

签到天数: 3 天

11
发表于 4 天前 | 只看该作者   四川省成都市
一直在研究怎么写入十六进制的数据,有没有大神给个例子,感谢感谢
回复 支持 反对

使用道具 举报

签到天数: 2 天

10
发表于 2025-6-14 10:20:05 | 只看该作者   辽宁省本溪市
z13228604287 发表于 2025-6-13 09:09
[mw_shl_code=cpp,true]       
// Toggle LED (cmd 0x80). The first byte is the report number (0x0).
        buf[0 ...

感谢回复和提供的资料,继续学习
回复 支持 反对

使用道具 举报

签到天数: 4 天

8
发表于 2025-6-11 23:43:43 | 只看该作者   河南省焦作市
无法静态编译啊 缺少lib
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
7
发表于 2025-6-8 10:52:17 | 只看该作者   河南省焦作市
66666666666666666666666 有没有易语言调用案例呢?
回复 支持 反对

使用道具 举报

签到天数: 2 天

6
发表于 2025-6-5 15:42:57 | 只看该作者   辽宁省本溪市
你好,hidapi支持库很好用,可以给个hid_写 的例程吗?我这边试了没成功,感谢!!!

点评

https://blog.csdn.net/weixin_45381001/article/details/125802184 参考   江苏省苏州市  发表于 2025-6-7 08:43
回复 支持 反对

使用道具 举报

签到天数: 1 天

地下
发表于 2025-6-3 22:20:58 | 只看该作者   广东省广州市
333333333333
回复 支持 反对

使用道具 举报

签到天数: 1 天

地板
发表于 2025-6-3 22:18:39 | 只看该作者   广东省广州市
11111111111111111
回复 支持 反对

使用道具 举报

结帖率:29% (2/7)

签到天数: 2 天

板凳
发表于 2025-5-25 16:06:24 | 只看该作者   广东省茂名市
这是个好东西,有执行例子更好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表