【发布时间】:2013-10-11 16:25:34
【问题描述】:
我正在尝试在 Java 中执行鼠标单击,以单击外部程序中的某些内容。为此,我使用java.awt.robot,以及以下代码:
Robot bot = new Robot();
int mask = InputEvent.MOUSE_BUTTON1_DOWN;
bot.mouseMove(x, y);
bot.mousePress(mask);
bot.mouseRelease(mask);
这就是问题所在。外部程序能够检测到此点击是计算机生成的而不是人为生成的,因此它会拒绝此点击。
我已经尝试过将鼠标自然移动到那里,但没有任何效果。所以我的猜测是,它一定是在听键盘状态之类的,并从中得知点击是计算机生成的。
我必须做些什么才能将所有键盘/鼠标状态设置为与正常鼠标单击相同的方式?
【问题讨论】:
-
你应该在按下和释放之间有一个延迟。
-
您不能通过正常渠道故意这样做 - 因为这是一个安全风险。
-
那请指导一下我必须使用的异常频道
-
鼠标GUI宏记录器是如何做到的?
-
@Boann 可能是一些需要真人作为用户的软件。我的第一个赌注是在线扑克(或其他赌博)客户。