我正在尝试使用 AWT 机器人移动 Windows 资源管理器窗口。该机器人运行Java 7,操作系统为Windows 7。
我可以移动鼠标并单击某些内容,但是当我尝试单击并拖动时,它似乎根本没有按下按钮。我看不出出了什么问题,或者想不出如何弄清楚发生了什么。
我开始使用 Sikuli:
mouse.mouseDown(InputEvent.BUTTON1_MASK);
mouse.drop(targetLocation);
当这不起作用时,我尝试了一种较低级别的实现,直接与机器人一起工作:
Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(targetLocation.getX(), targetLocation.getY());
robot.mouseRelease(InputEvent.BUTTON1_MASK);
鼠标从正确的位置开始并移动到正确的目的地,但似乎没有按下按钮。
在 sikuli 中使用 mouse.drag(),然后使用 mouse.drop()。
例子:
ScreenRegion fullScreenRegion=new ScreenRegion();
ImageTarget dragImageTarget=new ImageTarget("dragTargetFile");
ScreenRegion dragTargetRegion=fullScreenRegion.find(dragImageTarget);
ImageTarget dropImageTarget=new ImageTarget("dropTargetFile");
ScreenRegion dropTargetRegion=fullScreenRegion.find(dropImageTarget);
Mouse mouse = new DesktopMouse();
mouse.drag(dragTargetRegion.getCenter());
mouse.drop(dropTargetRegion.getCenter());
对于 Java 机器人 API:
您应该按顺序调用 mouseMove()、mousePress()、mouseMove(),然后调用 mouseRelease()。
例子:
Robot robot=new Robot();
// drag
robot.mouseMove(x1, y1);
robot.mousePress(InputEvent.BUTTON1_MASK);
// drop
robot.mouseMove(x2, y2);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)