3

我为客户完成了一个应用程序。聊了一会儿之后,他希望我做一个额外的应用程序或为他们的信息亭推荐一个应用程序。

客户想要一种方法来防止计算机关闭。他们喜欢禁用Ctrl++ (也因此进程不能被杀死),+Alt来关闭他们的浏览器,并且没有 Windows 按钮来弹出开始菜单供用户单击或使用键盘关闭。显然应该有办法解锁它DeleteAltF4

我告诉他们我会调查它,但他们真的不需要它。

他们使用的是 Windows 7。是否有我可以使用的 WinAPI 调用或已经存在的应用程序或库来执行此操作?

4

2 回答 2

13

从 Windows 2000 开始,有一个注册表二进制键允许您重新映射驱动程序级别之上的键:

HKLM\System\CurrentControlSet\Control\Keyboard Layout\Scancode Map

幸运的是,还有一个 GUI 应用程序可以让您轻松配置它,称为SharpKeys(没有隶属关系,只是一个快乐的用户)。重新映射非常灵活,到目前为止,我已经设法重新映射每个标准键(包括CtrlDeleteF4等),甚至是某些键盘上的“多媒体”键。

该应用程序只是将设置写入注册表,因此它不需要一直运行 - 一旦您找到了您喜欢的布局,您可以通过 Regedit 导出/导入注册表项,无需特殊工具。

我建议将所有“危险”键重新映射到无辜的东西 - 例如 map CtrlDeleteF4to Shift

警告:这是一个系统范围的设置,所以如果您需要在该系统中按Ctrl++ ,那么您将不走运(您必须再次编辑注册表项)AltDelete此外,映射仅在系统启动后读取一次,因此您需要重新启动以应用更改。

于 2010-11-23T19:37:48.830 回答
3

可能是更好的方法,但 AutoHotKey 可以在 Windows 中为您禁用或重新映射键。http://www.autohotkey.com/docs/misc/Remap.htmhttp://www.autohotkey.com/docs/misc/Override.htm

无论如何,这比自己编辑注册表要安全一些。我没有尝试禁用Ctrl++ ,但它适用于 capslockAltDel我尝试过的其他几个键。

于 2010-11-20T18:24:49.313 回答