我正在尝试创建一个键盘挂钩在Java中使用。经过一番研究,我意识到我需要从C++中获得一些东西。我对C++没有太多的经验,我只在短时间内混淆了语法。我将如何在C++中执行此操作?我将如何让C++代码与Java代码交互?任何帮助是极大的赞赏。C++/Java - 键盘钩
回答
我不太确定你想要什么你的C++代码,但在这里,你将如何使其与Java的工作:
查找到JNI,这将解释如何通过Java
执行本机代码http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jni.html
本质上,您使用一种工具来创建您在C++应用程序中包含的胶水标题。当您调用native
函数时,Java代码将自动调用本机库。
另外请记住,从原生到java层有一个速度惩罚。
对于这类问题,JNA比JNI使用起来要容易得多。 – 2012-01-17 03:16:17
我没有太多的JNA经验,如果你发布一个答案,那么对于提问者会有所帮助,那么我认为 – Prime 2012-01-17 03:18:09
JNA是一个建立在JNI之上的库,允许Java程序直接与C dll进行交互,而无需必须创建头文件。如果我认为他的问题是可以回答的,我会将其作为答案张贴,但事实并非如此。我所能做的就是为这个过于宽泛的问题提出一般性建议。我认为,在他甚至可以考虑接近这个话题之前,OP需要首先做他的家庭工作和尽职调查。 – 2012-01-17 03:21:29
- 1. 全局键盘钩
- 2. Java键盘挂钩
- 3. 键盘挂钩存储键
- 4. 键盘挂钩问题
- 5. 检测键盘挂钩
- 6. 低级键盘挂钩
- 7. 键盘钩子问题
- 8. 键盘钩子问题
- 9. 按了什么键?键盘挂钩
- 10. 键盘挂钩改变键的行为
- 11. 使用低级别键盘挂钩更改键盘字符
- 12. 全局键盘钩子/原始输入捕获键盘输入
- 13. 键盘挂钩:更改密钥代码
- 14. Windows键盘挂钩挂起调试器
- 15. C#低级键盘挂钩不工作
- 16. 净键盘钩子额外KeyUp事件
- 17. 多个键盘和低级挂钩
- 18. C++的全局键盘钩子
- 19. Raw输入另一个键盘钩子?
- 20. 键盘钩子没有使用DLL?
- 21. 全局键盘挂钩不工作
- 22. Windows中的JNA键盘挂钩
- 23. Windows全局键盘钩子 - Delphi
- 24. 挂钩键盘更改密钥代码
- 25. RegisterHotKeys和全局键盘钩子?
- 26. 如何挂钩windows键盘ISR?
- 27. 为什么我的键盘挂钩多次接收到相同的键盘键和键盘键事件?
- 28. 针对Mac的挂钩,特别是键盘挂钩
- 29. 键盘挂钩冻结键盘,而应用程序执行其他任务
- 30. 检测低级别键盘挂钩中的特定键
有很多信息已经在那里回答这个问题,大部分都在这个网站上。如果你有一个*特定的问题,你会更好地阅读它,然后回来。这不需要C++,但可以使用C和JNA来完成,但如果要成功,您需要知道如何使用C编写代码。 – 2012-01-17 03:14:58
对于Windows,请参阅[Windows上的JNA键盘钩子](http://stackoverflow.com/questions/3078646/jna-keyboard-hook-in-windows)或[KeyHook.java](https://github.com/来自JNA的twall/jna/blob/master/contrib/w32keyhook/src/KeyHook.java)contrib – prunge 2012-01-17 04:44:48