首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python中的pywinusb发送空闲请求?

如何使用python中的pywinusb发送空闲请求?
EN

Stack Overflow用户
提问于 2022-11-02 01:23:14
回答 1查看 30关注 0票数 0

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

我可以用Pyusb找到类似的问题,但是由于驱动程序问题,我不能使用Pyusb。

代码语言:javascript
复制
    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请求的方法?

EN

回答 1

Stack Overflow用户

发布于 2022-11-02 03:04:42

我发现这是一个愚蠢的问题,我只是把下面的代码

代码语言:javascript
复制
idle=[0x21,0x0A,0x200]
device.send_output_report(idle)

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

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74283437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档