假设我正在阅读 PDF 文件或使用网络浏览器,并且我突出显示了一个词。
我想要一个 JAVA 中的过程,一个独立程序中的过程,以使用我的 JAVA 程序获取选定的文本。
假设我正在阅读 PDF 文件或使用网络浏览器,并且我突出显示了一个词。
我想要一个 JAVA 中的过程,一个独立程序中的过程,以使用我的 JAVA 程序获取选定的文本。
听起来好像另一个程序将“活动”并具有焦点,并且您希望在后台使用 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)。