捕获窗口中的击键

时间:2011-02-08 13:05:13

标签: java windows

甚至可以构建(在JAVA中)在Windows中的任何应用程序上完成键盘敲击的应用程序(不是在java应用程序中)吗?!!

5 个答案:

答案 0 :(得分:2)

是的我相信它是可能的,但您必须使用JNI来执行此操作,因为它需要使用所谓的here所述的Windows API。

答案 1 :(得分:1)

是的,通过JNI使用Windows API。但它不可移植。

答案 2 :(得分:0)

Java本身没有任何工具可以执行此类操作。

您必须使用JNI使用Windows API创建本机DLL,您的Java代码将通过System.loadLibrary(String libname)方法调用该API。

答案 3 :(得分:0)

首先,您可以仅在Java应用程序窗口中捕获事件。 其次,仅使用JNI API解决问题是错误的。 我尝试了以下技巧。

创建透明的全屏窗口。捕获它上面的事件。当您捕获击键时,快速消失窗口并使用Robot模拟相同的按键。然后再次创建透明的全屏窗口。

这是一个丑陋的技巧,但它是纯粹的java,用户看不到任何东西。 祝你好运。

答案 4 :(得分:-2)

哇..看看人们的回答方式。
3分钟前有人建议JNI。

  

是的,通过JNI使用Windows API。但它不可移植。

1分钟前,其他人也想过回答......

  

是的我相信这是可能的,但您必须使用JNI来执行此操作,因为它需要使用此处所述的Windows API。

24秒前有人也想过这个......

  

Java本身没有任何工具可以执行此类操作。   您必须使用JNI使用Windows API创建本机DLL,Java API将通过System.loadLibrary(String libname)方法调用。

我也认为同样的事情。
使用JNI dude ..:D

我们需要SF中的东西来防止这种情况!如果有人已经建议JNI,其他人应该不能发布相同的内容..让他们添加评论或赞成已经存在的评论.. !!

编辑 - 是的,我在这里等待downvotes和评论家..让它开始!!