每次假期,表弟他们都很爱使用我的电脑玩游戏,由于这些人经常用力按ASDF等几个常用的游戏键,导致按钮失灵,我的键盘因此都换了好几个了。有没有办法可以实现在表弟登录电脑时这几个按键就失效,而自己登录则不受影响。
【解题思路】
默认情况下,登录系统后都可以使用键盘。因此如果要让指定用户登录后无法使用特定的按键,我们就需要人为制造键盘的故障。这可以借助KeyboardShield这款软件来实现,它支持使用命令行的方式屏蔽特定按键。我们只要制作一个屏蔽按键的命令文件放置在特定用户的“启动”目录下,指定用户登录后就无法使用ASDF键了。
【解题方法】
下载上述软件后将其改名为Key.exe,并复制到C:/Windows/System32目录下备用,然后以管理员身份启动该程序,再依次按下ASDF等键,并在“新按键”中设置为“屏蔽”,点击“添加”,将这些按键添加到屏蔽列表中,勾选“开启屏蔽、改键”,屏蔽的按键就立即生效了。此时再按下ASDF键将没有任何反应了(图1)。
图1 添加指定按键到屏蔽列表
注意:这款软件运行需要Microsoft .NET Framework 2.0或更高版本的支持。如果软件无法运行,请自行到微软网站下载安装。
接下来切换到“更多设置”,点击“保存按键设置”,按提示将屏蔽设置文件保存为Key.txt,也放置在D盘下备用。使用记事本打开导出的配置文件可以看到,屏蔽按键实际上就是使用“v+按键代码_x”的语句(每个按键一行),在这里可以自行添加其他要屏蔽的按键(图2)。
图2 屏蔽按键语法命令
小提示:
KeyboardShield同样可以用来映射其他按键,在键盘编码中a代表Alt键,c代表Ctrl键,s代表Shift键,w代表Win键。以v开头后加数字,表示按键编码,x表示屏蔽。比如“v95_x”,表示屏蔽Sleep键(计算机睡眠键),v65_v66则表示将A键映射为B键。
现在启动记事本,输入“start key.exe hide d:/key.txt”(代码的意思是后台启动程序并加载上述导出的配置文件),然后将其保存为Key.bat,放置在指定账户的启动目录下,假设需要限制CFAN账户登录后无法使用ASDF键,则放置在C:/Users/CFAN/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup下(图3)。
图3 将指定屏蔽脚本放置在用户启动目录下
因为屏蔽按键只有KeyboardShield在后台启动后才会生效,因此我们自己正常使用的账户登录后使用不会受到影响,而CFAN账户登录后默认就会自动屏蔽按键。如果要取消屏蔽,可以打开任务管理器,将其中的Key.exe进程终止即可(图4),非常简单。
图4 取消屏蔽终止进程即可