我在使用 java 机器人时遇到问题,我正在使用它为游戏制作像素机器人。当我使用机器人点击时没有任何反应,我听说人们无法点击某些应用程序的问题更多。但我找不到任何解决方案。我还阅读了有关跟踪鼠标移动的信息。但这对我来说似乎很奇怪,因为按键也不起作用。我尝试点击的游戏可能是 c++ 和 DirectX。我 100% 确定我的代码有效,因为我可以用它移动桌面图标并做更多的事情。那么,有没有办法解决这个问题?还是我需要使用其他语言?谢谢!
杰罗恩。
使用 Robot 时的典型错误是 Robot 需要绝对屏幕坐标。有时人们(包括我自己)会得到按钮相对于它的窗口的相对坐标,并尝试用机器人点击它。确保您能够找到您尝试单击的屏幕元素的绝对坐标。
为确保机器人能正常工作,请找到某个桌面图标的坐标,例如将某个图标放在屏幕左上角附近,然后单击 20x20 点。你会看到效果。
不幸的是你没有提供你的代码,所以我不能给你更好的答案。
尝试这个
public class Main {
private Robot robot = new Robot();
public Main() throws AWTException, IOException {
robotMouseClick(600, 600);
}
private void robotMouseClick(int x, int y) {
robot.mouseMove(x, y);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws AWTException, IOException {
new Main();
}
}
这对我有用
就机器人而言,你真的不能对 JVM 之外的任何进程做任何特别的事情。