用附近的蓝牙设备自动锁定 / 解锁 Windows 的小工具。
WPF 版(v2.3.2)在 UnlockServer.Wpf:支持多设备、本机直接解锁(凭据提供程序),以及 BLE 广播近场检测。
Issue 整理与处理说明见 docs/issues.md。
普通程序不能直接解开 Windows 锁屏。v2.2 提供两条路径:
| 方式 | 作用 |
|---|---|
| 本机解锁(推荐) | 安装凭据提供程序后,靠近绑定设备即可自动解锁,不需要 FileManagerService。 |
| 远程解锁服务(备用) | FileManagerService.exe / remoteUnlock(默认 127.0.0.1:2084),本机解锁不可用时回退。 |
只锁屏可以不装任何解锁组件,锁屏走系统 LockWorkStation。
推荐步骤:
- 在「解锁」页填写当前 Windows 用户名和密码,点「启用本机解锁」(需管理员权限一次)。
- 在「设备」页添加一台或多台蓝牙设备(手机、手表等)。默认任一设备靠近即可解锁;也可勾选「需要全部设备都在附近」。
- 在「规则」页打开自动锁定 / 自动解锁,保存。
- GitHub:Releases
- 历史蓝奏云:https://wwt.lanzouy.com/ieds50a0g7gf 密码
52pj
源码编译请打开 UnlockServer.Wpf(.NET Framework 4.8)。
- 手表 / 手环请选 BLE 或 全部。搜不到时:断开与手机的蓝牙,打开可被发现或心率广播,或手动输入 MAC。
- 信号阈值越接近 0 越强。想「更近才解锁」把阈值调大(例如
-55)。 - 滞后避免在阈值附近反复锁/解锁;信号丢失超时用于设备直接关机后锁屏。
- 锁定 / 解锁延迟是离开或进入后要持续多久才动作(解锁默认 3 秒)。
- 「不干预人工锁定」时,开机后第一次系统锁屏仍允许自动解锁;之后 Win+L 不会自动开。
常见限制:部分设备配对后不再广播,或连着手机时电脑扫不到,需要解除与手机的连接后再试。
v2.3.2
- 修复远程桌面保持连接时,回本机“点击解锁”被后台误判为已解锁而忽略
- 锁屏指令与结果按会话隔离,只接受目标组件返回的同一请求认证结果
- 增加失败/超时反馈,远程与控制台连接切换后恢复扫描
- 本版需要同时更新主程序和凭据提供程序;更新后重启 Windows,让 LogonUI 重新加载组件
升级与实机验证见 远程桌面解锁修复说明。
v2.3.1
- 修复暂停自动锁屏结束后,倒计时与界面更新互相等待导致卡死
- 修复关闭搜索窗口会停止主监控扫描,经典 / BLE 过滤改为独立的列表筛选
- 蓝牙数据与界面模型隔离,每 500 毫秒合并刷新,避免广播积压后集中更新
- BLE 停止或持续静默时限频恢复;缓存枚举不再当作新信号,长时间无广播仍能判定离开
- 倒计时结束前重新检查设备与规则;快速启停不会留下重复监控循环
构建、验证结果与实机测试步骤见 蓝牙稳定性回归说明。
v2.3
- 解锁倒计时只上滑一次,用来显示倒计时
- 解锁测试结束后恢复顶部状态
- 增加「有信号时仍锁屏」,以及锁屏上的「点击解锁」
- 顶部显示程序集版本号
v2.2
- 多设备绑定:任一设备靠近即可解锁(或要求全部在附近)
- 本机直接解锁:安装凭据提供程序后,不再依赖 FileManagerService
- 主界面改为「设备 / 解锁 / 规则」分页
v2.1
- BLE 以广播 RSSI 判断远近,不再用经典蓝牙 RFCOMM 连接测试当主依据
- 信号平滑、滞后区间、新鲜度超时(关机可锁屏)
- 设备列表支持全部扫描、已配对枚举、手动 MAC
- 解锁服务测试连接;仅锁屏时不必填服务器账号
- 开机自启改为最高权限、登录后延迟启动
v2.0
- WPF 重构
v1.4
- 锁屏 / 解锁超时