2

我正在构建一个 Java 应用程序,我需要阻止热键,例如Alt+ TabControl++ Alt...Delete基本上是这些。我的应用程序需要这个,因为它是一个控制应用程序。如果解决方案在 java 上是不可能的,那么任何人都知道另一种方法来做到这一点。

谢谢!

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

Edit2 : 用户输入密码后,他可以使用所有(或部分,如alt+ tab:) 这些热键!知道了?[2]

4

3 回答 3

2

一般来说,您不能,因为这些密钥在到达 Java 之前就被操作系统拦截了。

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

于 2010-10-19T22:21:09.183 回答
1

我认为没有一种简单的、程序化的方式来做到这一点。

除非 JDK6 中有一些隐藏的类,否则我会说这些组合是由操作系统处理的(无论如何都会在将它们分派给应用程序之前捕获击键),所以你的操作系统将决定在 Java 之前用击键做什么

如果存在某些东西,那么它是与 Java 无关的 hack,但更多的是与注册表或类似的东西:)

于 2010-10-19T22:22:03.270 回答
1

CTRL-ALT-DELETE 的全部要点之一是它特别希望防止应用程序覆盖其功能。如果不是这种情况,那么任何人都可以编写一个应用程序,该应用程序在按下 CTRL-ALT-DELETE 时会自动启动,或者让自己看起来像“更改密码”应用程序或屏幕保护程序。这两种情况都将允许该应用程序从人们那里窃取密码。

于 2010-10-19T22:54:12.897 回答