如何在每次启动时重置 USB 设备 (Windows)

0 windows mouse reset

我的鼠标 (Saitek RAT7) 在我的 PC 上调谐时无法正常工作,X 轴无法按预期工作。我必须将其拔出,然后连接到计算机才能使其正常工作。每次我的 ststem 启动时,有没有办法让鼠标重置或类似的东西?(我已经尝试了所有传统的东西,比如驱动程序来使鼠标工作)。

nit*_*k01 6

获取 devcon

您可以使用devcon 实用程序移除 USB 设备并执行硬件扫描以重新检测该设备。如果您使用的是 64 位版本的 Windows,则 IA-64 exe 将无法运行,因为 IA-64 是与 x64 不同的体系结构。在这种情况下,您可以从Windows Driver Kit ISO 中提取正确的 exe 文件,如此处所述,或从此处下载 exe ,由对该博客文章发表评论的人之一提供。

注意:如果您的操作系统是 64 位,您确实需要获得正确的 64 位版本的 exe。可以使用i386版本来列出设备,但是remove命令会失败!

使用 devcon 重置设备

当您拥有适合您的系统(32 位或 64 位)的正确 exe 时,您需要找出鼠标的设备 ID。这些命令需要从提升的命令提示符运行。

提示:您可以通过在开始菜单中找到命令提示符,右键单击菜单项并选择以管理员身份运行来启动提升的命令提示符。在 Windows 8 中,从桌面视图中,您可以按win+x并在弹出的菜单中选择命令提示符 (admin)。

首先要求devcon列出所有 USB 设备的状态。例子:

C:\Users\test\devcon\amd64>devcon status USB*
USB\ROOT_HUB\4&1C613B58&0
    Name: USB Root Hub
    Driver is running.
USB\ROOT_HUB\4&1FB366D1&0
    Name: USB Root Hub
    Driver is running.
USB\ROOT_HUB\4&3156ABA9&0
    Name: USB Root Hub
    Driver is running.
USB\ROOT_HUB\4&6F1F2E5&0
    Name: USB Root Hub
    Driver is running.
USB\ROOT_HUB20\4&E98E22D&0
    Name: USB Root Hub
    Driver is running.
USB\VID_03F0&PID_171D\5&D4290CB&2&1
    Name: HP Integrated Bluetooth module
    Driver is running.
6 matching device(s) found.
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我将循环蓝牙模块。首先使用命令的remove参数断开设备devcon。通过添加前缀来指定设备路径@。请注意,&出现在设备名称中的字符用作命令提示符的控制字符,就像在 UNIX 中一样,因此您需要将设备名称放在引号中才能成功将其传递给devcon命令。

提示:您可以通过单击窗口左上角的任务图标并使用编辑菜单从命令提示符窗口复制和粘贴文本。选择文本后,按回车键执行复制操作。

C:\Users\test\devcon\amd64>devcon remove "@USB\VID_03F0&PID_171D\5&D4290CB&2&1"
USB\VID_03F0&PID_171D\5&D4290CB&2&1                         : Removed
1 device(s) were removed.
Run Code Online (Sandbox Code Playgroud)

现在发出再次查找设备devconrescan命令。

C:\Users\test\devcon\amd64>devcon rescan
Scanning for new hardware.
Scanning completed.
Run Code Online (Sandbox Code Playgroud)

此时,您可能想尝试在鼠标处于故障状态时运行这些命令。可能是鼠标需要物理电源循环才能开始正常工作,而这种方法实际上并不能解决问题。

在启动时使用提升的权限运行命令

您现在可以使用 Windows 任务计划程序在启动时运行该命令。创建一个.cmd包含以下几行的文件。将文件路径替换为存储位置的完整路径devcon.exe。将设备路径替换为鼠标的正确设备路径。记住引号和@. 确保文件具有.cmd扩展名而不是.cmd.txt扩展名。

C:\Users\test\devcon\amd64\devcon remove "@USB\VID_03F0&PID_171D\5&D4290CB&2&1"
C:\Users\test\devcon\amd64\devcon rescan
Run Code Online (Sandbox Code Playgroud)

启动任务计划程序(开始菜单、所有程序、附件、系统工具、任务计划程序)。在右侧面板中,选择“创建任务”。输入任务的名称。选择“无论用户是否登录都运行”和“以最高权限运行”。在触发器选项卡中,为“启动时”创建触发器。在操作选项卡中,创建一个新操作并找到您的.cmd文件。单击“确定”和“确定”,然后重新启动。现在,这个问题有望得到解决。