gpt4 book ai didi

Java机器人: Repeating every 30 minutes

转载 作者:行者123 更新时间:2023-12-01 13:46:48 24 4
gpt4 key购买 nike

我想做的是每 30 分钟运行一次这个机器人。它的作用是截取屏幕截图,以便我可以查看内容。我尝试使用

    thread.sleep();

但这对我不起作用。我将其设置为一些小的间隔,看看它是否真的有效,它只运行一次然后停止。我是 Java 新手,但我没有太多使用 Java 机器人类或任何类型的循环。这是我的课...

public class usiwa{


public static void main(String[] args) throws AWTException, IOException, InterruptedException{


Robot bot = new Robot();
Date date = new Date();
Random ra = new Random();

int x0 = MouseInfo.getPointerInfo().getLocation().x;
int y0 = MouseInfo.getPointerInfo().getLocation().y;

int x1 = ra.nextInt(1302 - 1224 + 1) + 1224;
int y1 = ra.nextInt(80 - 70 + 1) + 70;

int dx = x1 - x0;
int dy = y1 - y0;

// time in msecs
int t = 1000;

int res = Math.max(dx, dy);

if(res > t) res = t;
int d = t/res;

float inv = (float) 1/(res - 1);
float a = 0;

long s = 0;
long e = 0;
s = System.currentTimeMillis();

for(int i = 0; i < res; i++) {
a += inv;

bot.mouseMove(x0 + (int) (a*dx), y0 + (int) (a*dy));
bot.delay(d);



}
e = System.currentTimeMillis();
System.out.println("Total time: " + (float) (e - s)/1000);


bot.mousePress(InputEvent.BUTTON1_MASK);
bot.mouseRelease(InputEvent.BUTTON1_MASK);

bot.delay(3000);

Rectangle r = new Rectangle(0, 0, 1000, 1000);
BufferedImage p = bot.createScreenCapture(r);
DateFormat dateFormat = new SimpleDateFormat("MM_dd_yyyy-hh.mm.ss a");
ImageIO.write(p, "png" , new File("C:/Users/Kalob_2/Desktop/Tracker/" + dateFormat.format(date) + ".png"));




}



}

我想做的就是让上述所有操作每 30 分钟重复一次。

感谢您的帮助。

最佳答案

以下是重复任务的方法。将现有代码包装在这个 while 循环中:

while(true) {
// do something
Thread.sleep(1000); // 1 second, the parameter is miliseconds
}

或者,创建一个 cron 作业来运行您的代码。以下内容每 30 分钟重复一次。

30 * * * *

关于Java机器人: Repeating every 30 minutes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com