4

假设我正在阅读 PDF 文件或使用网络浏览器,并且我突出显示了一个词。

我想要一个 JAVA 中的过程,一个独立程序中的过程,以使用我的 JAVA 程序获取选定的文本。

4

1 回答 1

3

听起来好像另一个程序将“活动”并具有焦点,并且您希望在后台使用 Java 来捕获选定的文本,可能使用热键组合。

Java 可能不是这种行为的最佳工具。由于 Java 被构建为尽可能与操作系统无关,因此很难使用 Java 执行特定于操作系统的任务。话虽如此,这可以用 Java 完成,但需要“拉伸”Java 并使用通过 JNI、JNA 或特定于操作系统的实用程序桥(如 AutoIt V3)与 Java 集成的非 Java 代码(如果这是用于 Windows 平台)。该解决方案当然是特定于操作系统的,不能以跨平台方式使用。


编辑 1
您在评论中声明:

谢谢.. 但是如何使用 JNI 或 JNA 来做到这一点?

@blackgh:问题就在这里。你需要先学习 JNI(如果你还不熟悉 C 或 C++ 会更难)或 JNA(我认为这更容易),然后如果你想制作热键,则要学习制作键盘钩子。这将需要一些时间和精力来完成,但是是可行的。如果这是我的项目,我需要快速完成它,并且它必须与 Java 集成,如果它是用于 Windows 平台,我会使用 AutoIt V3 或类似的东西来为热键创建一个脚本最简单的解决方案,事实上我已经做过类似的事情,但是你需要再次学习 AutoIt 语言(它就像 Basic)。

于 2012-10-19T13:50:30.597 回答