[color=var(--md-box-samantha-normal-text-color) !important]要区分 7 个相同的 USB 小键盘,你需要获取每个键盘的唯一标识符。在 E 语言中,可以通过 Windows API 来实现这一点。每个 USB 设备都有一个唯一的设备路径或硬件 ID,可以用来区分它们。
[color=var(--md-box-samantha-normal-text-color) !important]以下是一个 E 语言代码示例,展示如何获取所有键盘的设备路径并让用户选择对应的编辑框:
[color=var(--md-box-samantha-normal-text-color) !important]
子程序名
返回值类型
公开
备 注
获取键盘设备路径
文本型
返回所有键盘的设备路径列表
变量名
类 型
静态
数组
备 注
设备信息集
整数型
设备信息
字符串
设备路径
文本型
用于存储键盘设备路径的数组
i
整数型
设备数量
整数型
设备路径列表
文本型
// 创建设备信息集 设备信息集 = CreateDeviceInfoList("{884B96C3-56EF-11D1-BC8C-00A0C91405DD}", 0) 如果(设备信息集 = INVALID_HANDLE_VALUE) 则 返回 "" 结束 // 获取设备数量 设备数量 = 0 i = 0 循环(真) 如果(EnumDeviceInfo(设备信息集, i, 设备信息)) 则 设备数量 = 设备数量 + 1 i = i + 1 否则 跳出 结束 结束 // 重新初始化数组大小 重定义数组 设备路径[设备数量] // 获取每个键盘的设备路径 i = 0 循环(真) 如果(EnumDeviceInfo(设备信息集, i, 设备信息)) 则 设备路径[i] = SetupDiGetDeviceInstanceId(设备信息集, 设备信息) 设备路径列表 = 设备路径列表 + 设备路径[i] + #换行符 i = i + 1 否则 跳出 结束 结束 // 清理资源 SetupDiDestroyDeviceInfoList(设备信息集) 返回 设备路径列表 .子程序结束