如何使用java模拟真实的鼠标点击?

新手上路,请多包涵

我正在尝试在 Java 中执行鼠标单击,以单击外部程序中的某些内容。为此,我使用 java.awt.robot 和以下代码:

 Robot bot = new Robot();
int mask = InputEvent.MOUSE_BUTTON1_DOWN;
bot.mouseMove(x, y);
bot.mousePress(mask);
bot.mouseRelease(mask);

这就是问题所在。外部程序能够检测到此点击是计算机生成的而不是人为生成的,因此它会拒绝此点击。

我已经尝试过自然地将鼠标移到那里,但没有任何效果。所以我的猜测是,它一定是在监听键盘状态等,并从中得知点击是由计算机生成的。

我需要做什么才能将所有键盘/鼠标状态设置为与普通鼠标单击相同的方式?

原文由 ali 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

好吧,我有同样的要求,机器人课程对我来说非常合适。它适用于 Windows 7 和 XP(尝试过 Java 6 和 7)。

 public static void click(int x, int y) throws AWTException{
    Robot bot = new Robot();
    bot.mouseMove(x, y);
    bot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
    bot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
}

也许您可以分享拒绝您点击的程序的名称?

原文由 AndyBaba 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题