Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拦截/禁用Java中的系统密钥_Java_Key_Intercept - Fatal编程技术网

拦截/禁用Java中的系统密钥

拦截/禁用Java中的系统密钥,java,key,intercept,Java,Key,Intercept,有没有办法截取Java中的系统密钥,以便事件不会传播到操作系统?Ctrl+Alt+Del或其他与安全相关的组合并不重要,主要问题是Windows键 该程序是通过专有协议执行某些远程操作的全屏应用程序的专用程序。目前我唯一的想法是通过JNI解决这个问题,而Windows的解决方案似乎很简单,但我不确定Linux和MacOSX 我更喜欢一个标准的解决方案,也许有一些适合Java游戏的东西。Java在操作系统(OS)之后处理按键,所以Java不能“拦截”它们。尽管如此,您可以用C/C++编写特定于操作

有没有办法截取Java中的系统密钥,以便事件不会传播到操作系统?Ctrl+Alt+Del或其他与安全相关的组合并不重要,主要问题是Windows键

该程序是通过专有协议执行某些远程操作的全屏应用程序的专用程序。目前我唯一的想法是通过JNI解决这个问题,而Windows的解决方案似乎很简单,但我不确定Linux和MacOSX


我更喜欢一个标准的解决方案,也许有一些适合Java游戏的东西。

Java在操作系统(OS)之后处理按键,所以Java不能“拦截”它们。尽管如此,您可以用C/C++编写特定于操作系统的代码,截取击键并使用JNI在Java中调用它。

这似乎是,所以您可以尝试一下。显然,JavaAPI中的KeyEvent类公开了两个Microsoft Windows键盘特定的事件(用于左winkeys和右winkeys)和(用于上下文菜单键)

通过实现KeyListener很有可能捕获这些事件,但是需要预先警告的是,如果您试图单独捕获Winkey事件,那么在Java能够处理它之前,您必须首先触发操作系统的事件处理程序