Java.awt.robot mousepress没有任何影响

时间:2013-10-03 20:46:22

标签: java awt mouseevent awtrobot thread-sleep

我正在尝试使用awt.robot模拟其他程序中的左键单击,其代码如下:

int mask = InputEvent.BUTTON1_DOWN_MASK;
bot.mouseMove(x, y);   
bot.mousePress(mask);
bot.mouseRelease(mask);

虽然这是将鼠标移动到屏幕的正确部分,但其他程序似乎没有接收到点击。我做错了什么?

在某些其他程序中,同样的方法会产生单击,但在一个程序中,它没有效果。

我已尝试Thread.sleep()在mouseMove和mousePress之间等待30-300毫秒,但它没有效果。

我是否需要使用JNI和本机Windows API来实现这一目标?我在Windows 8上。

2 个答案:

答案 0 :(得分:1)

您使用了错误的面具:InputEvent.BUTTON1_MASK

答案 1 :(得分:0)

您是否在bot.delay(n)bot.mousePressed(mask)之间尝试了bot.mouseReleased(mask)