我试图复制使用HID接口控制设备的软件的行为,工作流程是发送空闲请求,然后向设备发送大量数据,我可以发送数据,但我不知道如何发送空闲请求。我在网上找到了HID文件然后看到了这个

我可以用Pyusb找到类似的问题,但是由于驱动程序问题,我不能使用Pyusb。
import pywinusb.hid as HID
import time
import datetime
v_id = 0x047a
p_id = 0x1004
i=0
count_line=0
data_2_list=[]
all_devices = HID.HidDeviceFilter(vendor_id = v_id).get_devices()
target_usage = HID.get_full_usage_id(0xFF00, 0x01)
print(all_devices)
device = all_devices[0]
device.open()
data=[0]*64
# print(data)
my_file=open("demofile2.txt","r")
data_lines=my_file.readlines()
for data_line in data_lines:
count_line+=1
data=data_line.replace("\n","")
data_2_str_list=data.split(",")
while i<len(data_2_str_list):
data_2_list.append(int(data_2_str_list[i],16))
i+=1
print(data_2_list)
device.send_output_report(data_2_list)
time.sleep(0.05)
print(count_line)有没有一种使用pywinusb发送Idle请求的方法?
发布于 2022-11-02 03:04:42
我发现这是一个愚蠢的问题,我只是把下面的代码
idle=[0x21,0x0A,0x200]
device.send_output_report(idle)

但是现在又出现了另一个问题,我可以发送空闲请求,但是代码给了我错误87。

import pywinusb.hid as hid
import time
import datetime
v_id = 0x047a
p_id = 0x1004
i=0
count_line=0
data_2_list=[]
all_devices = hid.HidDeviceFilter(vendor_id = v_id).get_devices()
target_usage = hid.get_full_usage_id(0xFF00, 0x01)
print(all_devices)
device = all_devices[0]
device.open()
data=[0]*64
# print(data)
my_file=open("demofile2.txt","r")
data_lines=my_file.readlines()
idle=[0x21,0x0A,0x200]
device.send_output_report(idle)
time.sleep(0.05)
for data_line in data_lines:
count_line+=1
data=data_line.replace("\n","")
data_2_str_list=data.split(",")
while i<len(data_2_str_list):
data_2_list.append(int(data_2_str_list[i],16))
i+=1
print(data_2_list)
device.send_output_report(data_2_list)
time.sleep(0.05)
print(count_line)https://stackoverflow.com/questions/74283437
复制相似问题