Windows 11下如何通过快捷键控制指定USB端口的电源通断(无需重启、不使用Devcon)
Windows 11下如何通过快捷键控制指定USB端口的电源通断(无需重启、不使用Devcon)
嘿,我来帮你搞定这个问题!既然Devcon不符合你的需求(它只是禁用驱动而非真正切断端口电源),那咱们从硬件+软件联动的角度来实现,给你两种实用方案,按需选择:
方案一:带独立电源控制的USB智能集线器(简单省心,适合不想折腾的)
这个方案不用搞复杂DIY,选对硬件就能快速实现:
- 第一步:选对Hub
找支持单端口独立电源开关的USB Hub,比如部分品牌的智能Hub(比如Anker的部分型号,或者专门的工业级USB电源控制集线器),这类Hub能真正切断对应端口的供电,不是只禁用数据传输,买前一定要看产品描述确认这点。 - 第二步:用AutoHotkey绑定快捷键
这类Hub一般会配套Windows控制软件,先打开软件找到对应端口的开关功能,然后用Windows的AutoHotkey来实现快捷键触发:- 先安装AutoHotkey(Windows应用商店或官网均可下载)。
- 新建一个
.ahk脚本文件,写入类似代码(根据Hub软件的命令行参数或操作逻辑调整):; 按Ctrl+Alt+F1打开指定USB端口电源 ^!F1:: Run, "C:\Path\To\Your\HubControlSoftware.exe" /enable port3 ; 替换成你的Hub软件路径、启用命令和目标端口号 Return ; 按Ctrl+Alt+F2关闭指定USB端口电源 ^!F2:: Run, "C:\Path\To\Your\HubControlSoftware.exe" /disable port3 ; 替换成你的Hub软件路径、禁用命令和目标端口号 Return - 保存脚本后右键点击「Run Script」,之后按对应的快捷键就能直接控制端口电源了。想要开机自动运行的话,把脚本的快捷方式放到Windows的「启动」文件夹里就行。
方案二:树莓派DIY方案(适合动手能力强的玩家)
如果想自己折腾,用树莓派配合继电器模块就能实现自定义控制:
- 硬件准备:树莓派(任意型号都可以,比如Pi 3/4)、带GPIO控制的USB继电器模块(选能承受你的设备功率的,台灯、风扇这类小功率设备随便选)、杜邦线。
- 接线步骤:把继电器模块的控制引脚接到树莓派的GPIO口(比如GPIO17),然后把你要控制的USB设备插到继电器模块的USB输出口上。
- 树莓派端配置:
- 安装Raspbian系统,启用GPIO接口(在
raspi-config里找「Interface Options」→「GPIO」开启)。 - 写个简单的Python脚本控制GPIO电平,从而开关继电器:
import RPi.GPIO as GPIO import sys GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) if sys.argv[1] == "on": GPIO.output(17, GPIO.HIGH) # 打开继电器,给USB设备供电 elif sys.argv[1] == "off": GPIO.output(17, GPIO.LOW) # 关闭继电器,切断USB设备供电 GPIO.cleanup() - 把脚本保存为
usb_power.py,然后给它加执行权限:chmod +x /home/pi/usb_power.py。 - 开启树莓派的SSH服务(同样在
raspi-config里开启),方便Windows远程调用。
- 安装Raspbian系统,启用GPIO接口(在
- Windows端快捷键设置:
- 先在Windows上安装OpenSSH客户端(设置→应用→可选功能→添加功能,找到「OpenSSH客户端」安装)。
- 用AutoHotkey写脚本,通过SSH远程触发树莓派的脚本:
; 按Win+Shift+U打开USB端口电源 #+U:: Run, "C:\Program Files\OpenSSH\ssh.exe" pi@你的树莓派IP "python3 /home/pi/usb_power.py on" Return ; 按Win+Shift+D关闭USB端口电源 #+D:: Run, "C:\Program Files\OpenSSH\ssh.exe" pi@你的树莓派IP "python3 /home/pi/usb_power.py off" Return - 为了避免每次输入密码,可以把Windows的SSH公钥传到树莓派上,实现免密登录。
一些注意事项
- 选Hub的时候一定要确认是切断电源,不是只禁用数据,不然和Devcon效果一样。
- 树莓派方案要注意功率匹配,继电器模块的额定电流要大于你的USB设备的工作电流,避免烧坏模块。
- AutoHotkey的快捷键可以根据自己的习惯随便改,换成你顺手的组合就行。
备注:内容来源于stack exchange,提问作者Duality Wolfie




