阻止java热键,如alt + esc,control-alt-delete

时间:2010-10-19 22:17:55

标签: java events block key

我正在构建Java应用程序,我需要阻止热键,例如 Alt + Tab Control + Alt + 删除 ...基本上是论文。我的应用程序需要这个,因为它是一个控件应用程序。如果在java上无法解决这个问题,那么任何人都知道另一种方法。

谢谢!

Edit1 :我正在构建一个需要密码的“计算机管理器”。如果密码不是类型或错误,则用户不能在计算机上执行任何操作。 它的工作方式类似于默认登录屏幕视图,但有许多用户。知道了吗?

Edit2 :用户输入密码后,他可以使用所有(或某些,如 alt + 标签 :)这些热键!得到它了? [2]

3 个答案:

答案 0 :(得分:2)

一般来说,你不能,因为这些密钥在进入Java之前被操作系统截获。

向我们提供有关您所处的操作系统和环境的更多信息,我们可能会提供解决方法。

答案 1 :(得分:1)

我认为没有一种简单的程序化方法可以做到。

除非JDK6中有一些隐藏的类,否则我会说这些组合是由OS处理的(在将它们发送到应用程序之前以任何方式捕获键盘)所以你的操作系统将决定在Java之前做什么键击

如果存在某些东西,那么这是一个与Java无关的黑客攻击,但更多的是注册表或类似的东西:)

答案 2 :(得分:1)

CTRL-ALT-DELETE的一个重点是它特别希望阻止应用程序覆盖其功能。如果情况并非如此,那么任何人都可以编写一个应用程序,当按下CTRL-ALT-DELETE时它自动启动,并使其自身看起来像“更改密码”应用程序或屏幕保护程序。这两种情况都允许应用程序窃取人们的密码。