某些程序中存在Java粘贴错误



我是Java编程新手。我写这个程序是为了每秒钟粘贴一次"你好,世界!"。该程序运行正常,文本粘贴在许多窗口程序中,如记事本、Microsoft Word、浏览器和每个程序的文本区域或输入框。但在一些程序中,我的代码不起作用,例如Windows End Task Manager或Garena room。

现在我的问题是:一些程序是否可以出于安全原因拒绝JAVA代码?如果这是真的,如何在其中启用Java?

请注意,我使用NetBeansIDE来编程和编译jar文件。我的代码如下:

package com.javacodegeeks.snippets.desktop;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;
public class SimulateMouseMoveAndKeyPress {
  public static void main(String[] args) throws InterruptedException {
    try {
        // Create counter 
        int counter = 0; 
        while(true) {
            Thread.sleep(1000);
            String myString = "[" + counter + "] Hello world!";
            StringSelection stringSelection = new StringSelection (myString);
            Clipboard clpbrd = Toolkit.getDefaultToolkit ().getSystemClipboard ();
            clpbrd.setContents (stringSelection, null);
            Robot r = new Robot();
            r.keyPress(KeyEvent.VK_CONTROL);
            r.keyPress(KeyEvent.VK_V);
            r.keyRelease(KeyEvent.VK_CONTROL);
            r.keyRelease(KeyEvent.VK_V);
            r.keyPress(KeyEvent.VK_ENTER);
            r.keyRelease(KeyEvent.VK_ENTER);
            counter = (counter)+1; 
        }
    } catch (AWTException e) {
        System.out.println("Low level input control is not allowed " + e.getMessage());
    }
  }
}

请帮帮我。谢谢大家。

Can some programs denies JAVA codes for security reasons?无Java程序不知道任何Java程序。他们只需对Ctrl-V热键(通过操作系统)做出反应,并将在系统剪贴板中找到的内容粘贴到其结构中。或者不是,在这种情况下,你不会看到你的"你好世界"字符串。

可能在您看不到粘贴数据的地方,它们也不会对手动Ctrl-V做出反应。


机器人医生说:

使用类生成输入事件与发布事件不同到AWT事件队列或AWT组件,因为事件是在平台的本机输入队列中生成。例如Robot.mouseMove实际上会移动鼠标光标,而不是生成鼠标移动事件。

您生成的事件是否进入系统事件队列(应该抛出异常)。似乎它们为一些人工作,而另一些人则不然。但是的AFAIK并不是因为使用Java来创建事件。

相关内容

  • 没有找到相关文章

最新更新