我想在我的netbeans项目中禁用键盘热键,例如T
alt
ctrl
alt + f4
,以便在我的应用程序开启时没有人可以打开任何内容
答案 0 :(得分:3)
您要求在 Netbeans中使用方式禁用Windows的全局键盘热键。这根本不可能,因为在Netbeans或任何其他Windows应用程序甚至注意到它们之前,两个密钥组合都在内核级别注册和拦截。
有一些方法可以在Windows中禁用这些类型的热键,但这不能用Java以编程方式完成。而是尝试谷歌搜索"禁用热键Windows X"或"禁用ctrl alt del Windows X。
SuperUser上的答案建议在Windows 7上禁用ctrl + alt + del的可能的注册表修复。建议的注册表编辑是:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe]
"Debugger"="Hotkey Disabled"
还有其他方法可以禁用某些热键,具体取决于您运行的Windows版本以及您对计算机的访问权限。没有管理员权限,任何解决方案都将很困难。
使用较低级别的语言(如C ++甚至C#)也可能会出现问题,但我认为任何Java库都无法拦截和阻止低级键盘事件。
答案 1 :(得分:0)
好吧,禁用密钥是一件困难的事情,但我认为你的问题可以通过另一种方式解决:
yourFrameOrWindow.setAlwaysOnTop(true);
这将使您的应用程序始终在屏幕上,如果它的全屏,则您的问题已解决,但这不会禁用ctrl + alt + del,或其他尝试关闭您的应用程序。
对于某些键组合,我认为你可以在一个onKeyPress方法中映射它们然后让它为空,如下所示:
void onKeyPress(int keyCode){
if(keyCode == 43){
//do nothing
}
}
但我认为有一个特定的密钥组合监听器。