【发布时间】:2013-10-10 17:27:07
【问题描述】:
我正在尝试使用 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 上。
【问题讨论】:
-
1) 为了尽快获得更好的帮助,请发帖 SSCCE。 2) “我已经尝试过
Thread.sleep()” 改为尝试delay(int),或setAutoWaitForIdle(boolean)/waitForIdle()。
标签: java awt mouseevent awtrobot thread-sleep