【问题标题】:How do make this part of the program run? [closed]如何使这部分程序运行? [关闭]
【发布时间】:2020-07-17 05:10:40
【问题描述】:

所以我有一个用来发送垃圾邮件的程序(笑)。基本上,它将复制的内容粘贴到剪贴板,然后重复发送垃圾邮件。问题是,当我运行代码时,它会按 ctrl 和 v 键但不输入。如何让它工作?

public class spam {
    public static void main(String[] args) throws AWTException, InterruptedException {
        Robot robot = new Robot();
        for (int i = 0; i < 1000; i++) {
            robot.keyPress(VK_CONTROL);
            robot.keyPress(VK_V);
            Thread.sleep(2000);
            robot.keyPress(VK_ENTER);
        }
    }
}

【问题讨论】:

  • 可以把Robot类的内容放上去吗?和所有其他进口
  • 您可能还需要在按下这些键后释放它们。
  • 尝试:注释行 Thread.sleep() 并使用 robots.delay(2000);
  • 糟糕的标题。重写以总结您的具体技术问题。

标签: java


【解决方案1】:

使用Robot 类,您还必须在按下该键后释放该键。所以,你必须做这样的事情:

public class spam {
    public static void main(String[] args) throws AWTException, InterruptedException {
        Robot robot = new Robot();
        for (int i = 0; i < 1000; i++) {
            robot.keyPress(VK_CONTROL);
            robot.keyPress(VK_V);
            robot.keyRelease(VK_CONTROL);
            robot.keyRelease(VK_V);
            Thread.sleep(2000);
            robot.keyPress(VK_ENTER);
            robot.keyRelease(VK_ENTER);
        }
    }
}

您可以通过转到java api 中的Robot 类轻松找到更多相关信息,该类对 java 标准库中的所有方法都有很好的文档说明。

【讨论】:

    【解决方案2】:

    使用第二个机器人也可以解决问题。没有上面 Nikhil 回答的延迟。

    
    public class spam {
    
    
    public static void main(String[] args) throws AWTException, InterruptedException {
        Robot robot = new Robot();
        for (int i = 0; i < 1000; i++) {
            robot.keyPress(VK_CONTROL);
            robot.keyPress(VK_V);
            Thread.sleep(2000);
            robot.keyPress(VK_ENTER);
            // 2nd Robot to my avail
            Robot okRobot = new Robot();
    
            // presses Enter
            okRobot.keyPress(KeyEvent.VK_ENTER);    // press Enter
            okRobot.keyRelease(KeyEvent.VK_ENTER);  // release Enter
    
    
        }
    
    }
    }
    

    【讨论】:

    • 这将按住 ctrl 和 v 键,直到程序退出。我不认为这是一个好主意。此外,延迟不是 Nikhil 答案的一部分,而是在原始代码中。不需要使 Nikhil 的答案起作用。我的猜测是它是由 OP 放入的,目的是猜测如何解决他们遇到的问题。
    • 是的,但解决方案是使用第二个机器人。释放按钮取决于 OP。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    相关资源
    最近更新 更多