Java粘贴到当前光标位置

Java粘贴到当前光标位置,java,desktop,Java,Desktop,我想制作一个简单的java程序,在当前光标位置插入一些文本。光标位置可以在任何文本编辑器中,例如记事本。这可能吗?使用作为复制/粘贴的基础,您可能会看到,您只能将某些内容放入剪贴板,而不能直接更改外国人的进程文本框的内容 您可能希望获取框的窗口句柄,并使用Windows API向其发送消息。这只适用于windows,我不知道在Mac OS/Linux上是否有相同的方法。也许这甚至不能直接从java中工作。您需要键入一些C/C++代码并使用 关于如果您询问当前光标位置,我认为您应该使用以下选项:

我想制作一个简单的java程序,在当前光标位置插入一些文本。光标位置可以在任何文本编辑器中,例如记事本。这可能吗?

使用作为复制/粘贴的基础,您可能会看到,您只能将某些内容放入剪贴板,而不能直接更改外国人的进程文本框的内容

您可能希望获取框的窗口句柄,并使用Windows API向其发送消息。这只适用于windows,我不知道在Mac OS/Linux上是否有相同的方法。也许这甚至不能直接从java中工作。您需要键入一些C/C++代码并使用


关于

如果您询问当前光标位置,我认为您应该使用以下选项:

Display.getCurrent().getCursorLocation()

有了光标位置,接下来要做什么需要进一步的细节。如果你想将一些文本自动写入Word或记事本等外国应用程序,这听起来更像是一种病毒。

这是一种黑客行为,但请查看java.awt.Robot。它可以让你通过编程进行鼠标点击和按键,还有很多其他有用的东西。因此,一种方法是:

  • 使用Atmocreations的文章将文本放入剪贴板
  • 如果要粘贴,请使用Robot在当前位置单击(如果需要提供该字段焦点)
  • 使用Robot按Ctrl-V(或系统希望粘贴的任何内容)

  • 正如我所说,这根本不是一个干净的解决方案,但它会在紧要关头工作。

    是的,我想在任何文本编辑器(如记事本)中写入内容,我正在制作剪贴板实用程序(类似于)。我不知道这个程序如何写入任何文本输入;机器人按键(KeyEvent.VK_控制);robot.keyPress(KeyEvent.VK_V);robot.keyrease(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_控制);它是有效的。谢谢另外,我试过使用robot.keyrease(KeyEvent.VK_-PASTE);但是它抛出了一个错误error@peri:即使焦点在不同的窗口上,该功能也有效吗?对。它的效果与按键盘上的Ctrl-V键完全相同,因此它将粘贴到焦点所在的任何位置。