gpt4 book ai didi

Java:mousePress() 并不总是有效

转载 作者:行者123 更新时间:2023-11-30 07:39:22 24 4
gpt4 key购买 nike

我用 Java 编写了一个简单的实用程序,可以让鼠标单击任意位置,每 X 毫秒一次:

import java.awt.Robot;
import java.awt.event.InputEvent;

public class Main
{
public static final int SLEEP_TIME = 60000;

public static void main(String[] args)
{
try
{
Robot r = new Robot();
int i = 0;
while(true)
{
doNothing();
System.out.println(++i + ") Pressed");
r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
}
}catch(Exception e)
{
e.printStackTrace();
}
}

private static void doNothing()
{
long endTime = System.currentTimeMillis() + SLEEP_TIME;
while(System.currentTimeMillis() < endTime)
{
//Do nothing
}
}
}

我之所以成功,是因为由于外部原因,安装程序中有一个按钮,我必须每隔 X 分钟按一次,因为它出现故障。

所以这个小程序在我所在的任何地方(桌面、Chrome 等)都可以正常工作,除了安装程序。

我必须按下的按钮是这样的,“Reanudar”: See here

因此,在 Eclipse 中,操作似乎已完成(每次都会打印一条消息),但在那里它不起作用。

请帮忙吗?提前致谢。

最佳答案

我在使用这些方法时发现的两个主要问题如下:

  1. 按下和释放之间的延迟。添加一点延迟,我想它可能会工作得更好。
  2. 应用程序本身有一些东西会阻止此类输入。这在大型应用程序中尤其常见(尤其是完全拒绝使用机器人/宏的应用程序)。我怀疑这就是问题所在,但根据应用程序可能值得研究一下。

我将从这里开始,看看你能找到什么。至少添加一些延迟并发布结果以供更多讨论。

关于Java:mousePress() 并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34909756/

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