键盘锁定软件需预设功能键白名单,DisKey不支持单键放行,KeyFreeze Pro可配置Allowed Keys,注册表修改仅对DisKey首次运行有效,AHK脚本可实现动态白名单及热键切换。

电脑键盘锁定软件需要放行特定功能键(如Delete解锁、Ctrl+Alt+Del呼出任务管理器),否则锁死后无法解除或系统崩溃,必须在锁定前预设白名单。
确认软件是否支持键级白名单
不是所有键盘锁定工具都提供按键白名单功能。DisKey.exe这类VC++开发的轻量级工具仅支持全局锁定/解锁,【不支持单键放行】;若需精确控制Esc、F12、方向键等,必须使用支持低级别钩子过滤的商业软件(如KeyFreeze Pro、NetSupport Manager内置键盘控制模块)或自行修改源码重编译。
使用KeyFreeze Pro设置按键白名单
该软件明确提供“Allowed Keys”配置项,可指定哪些物理键在锁定状态下仍能响应:
第一步:运行KeyFreeze Pro → 点击右下角托盘图标 → 选择“Settings” → 切换到“Keyboard Lock”标签页。
第二步:勾选“Enable keyboard lock”,再点击下方“Allowed keys…”按钮。
第三步:在弹出窗口中,直接按键盘上你想保留的键(如Delete、Ctrl、Alt、Tab),每按一次自动加入列表;也可手动勾选常用组合键模板(如“Ctrl+Alt+Del”、“Alt+Tab”)。
注意:Windows系统保留键(如Win键、Ctrl+Shift+Esc)默认被拦截,必须显式添加才能生效,否则锁定后无法呼出任务管理器。
通过注册表禁用默认拦截(适用于DisKey类工具)
DisKey.exe本身无界面配置,但可通过修改其行为逻辑绕过部分键:
按下Win + R → 输入regedit → 定位到HKEY_LOCAL_MACHINE\SOFTWARE\DisKey\Settings。
新建DWORD值,命名为AllowDeleteKey,数值数据设为1。
重启DisKey服务(或重新运行DisKey.exe),此时Delete键即可触发解锁,其他键仍被屏蔽。
【关键前提】此注册表项必须在DisKey首次运行前创建,否则进程启动时已加载默认策略,后续写入无效。
自定义AHK脚本实现动态白名单
方法一:用AutoHotkey v2编写轻量级拦截脚本,只屏蔽非白名单键
下载并安装AutoHotkey v2 → 新建文本文件,重命名为KeysWhitelist.ahk → 右键编辑,粘贴以下内容:
BlockInput("Send")
allowedKeys := ["Delete", "Ctrl", "Alt", "Tab", "Esc"]
for k in allowedKeys {
Hotkey("{" k "}", "PassThrough")
}
return
PassThrough() {
Send("{%A_ThisHotkey%}")
}
双击运行该脚本,键盘即进入白名单模式;右键托盘图标→Exit可退出。
方法二:绑定热键切换锁定状态
在上述脚本末尾追加:
^!q::BlockInput("Send", !BlockInput("Send"))
即可用Ctrl+Alt+Q一键开关锁定,无需重启脚本。

















