【问题标题】:C++/Java - Keyboard HookC++/Java - 键盘挂钩
【发布时间】:2012-01-17 03:12:45
【问题描述】:

我正在尝试创建一个在 Java 中使用的键盘挂钩。经过一番研究,我意识到我需要一些 C++ 的东西。我对 C++ 没有太多经验,我只是在短时间内弄乱了语法。我将如何在 C++ 中做到这一点?以及如何使 C++ 代码与 Java 代码交互?非常感谢任何帮助。

【问题讨论】:

  • 已经有很多信息可以回答这个问题,其中大部分都在这个网站上。你最好先阅读它,然后如果你有一个具体的问题再回来。这不需要 C++,但可以使用 C 和 JNA 完成,但如果要成功,您需要知道如何用 C 编写代码。
  • 对于 Windows,请参阅来自 JNA contrib 的 JNA Keyboard hook on WindowsKeyHook.java

标签: java c++ keyboard-hook


【解决方案1】:

我不完全确定您对 C++ 代码的要求是什么,但您可以通过以下方式使其与 Java 一起使用:

研究JNI,它将解释如何通过Java执行本机代码

http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jni.html

本质上,您使用一种工具来创建包含在 C++ 应用程序中的粘合头。当您调用native 函数时,Java 代码会自动调用本机库。

另外请记住,从本机层转到 Java 层会降低速度。

【讨论】:

  • 对于这类问题,JNA 比 JNI 更容易使用。
  • 我对 JNA 没有太多经验,如果你能发布答案对提问者会有帮助,那么我认为
  • JNA 是一个建立在 JNI 之上的库,它允许 Java 程序直接与 C dll 进行交互,而无需创建头文件。如果我认为他的问题可以回答,我会将此作为答案发布,但事实并非如此。我所能做的就是对这个过于宽泛的问题提出一般性建议。我认为 OP 需要先做功课和尽职调查,然后才能考虑处理这个话题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
  • 2017-07-18
  • 2023-03-13
相关资源
最近更新 更多