首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java: mousePress()并不总是工作

Java: mousePress()并不总是工作
EN

Stack Overflow用户
提问于 2016-01-20 20:22:38
回答 2查看 246关注 0票数 1

我用Java编写了一个简单的实用程序,让鼠标在任何地方点击,每隔X毫秒点击一次:

代码语言:javascript
复制
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":看这里

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

帮帮忙好吗?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-20 21:33:59

找到解决办法了!我的一位朋友成功地指出,由于此安装程序是以管理员身份运行的,因此非管理员Eclipse程序可能无法单击它。因此,,我运行Eclipse和我的程序作为管理员,和IT工作!

谢谢你给我的这几个答案,希望我的答案能解决别人的相关问题!

票数 0
EN

Stack Overflow用户

发布于 2016-01-20 20:50:41

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

  1. 新闻发布之间的延迟。再加一点延迟,我想它可能会运行得更好。
  2. 应用程序本身有阻止这种类型输入的东西。这在较大的应用程序中尤其常见(尤其是那些完全拒绝使用bots/宏的应用程序)。我怀疑这是问题,但可能值得研究取决于应用程序。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34909756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档