日期:2014-05-20  浏览次数:20673 次

为了游戏写代码!
嗯,这里求各位大牛的指导,我玩的游戏是大航海时代OL,游戏界面20分钟不动就会被强制下线,所以想写个程序,每隔几分钟自动控制一下游戏界面。(游戏已经窗口化)
代码如后。
问题是,程序执行以后,能够切换到我的游戏界面,并且能够按F1(游戏里面人物信息快捷键),但是执行到这里就不往下执行了。然而我在不是切换到游戏界面,而是其他界面的时候还是能够执行完所有步骤。
想问下,这是什么原因。(游戏的窗口化的)
import java.awt.event.*;
import java.awt.*;

public class Dol {
public static void main(String[] args)throws AWTException{
try {
Robot robot = new Robot();


robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_TAB);
robot.delay(1000);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F1);
robot.keyRelease(KeyEvent.VK_F1);

robot.keyPress(KeyEvent.VK_ESCAPE);
robot.delay(1000);
robot.keyRelease(KeyEvent.VK_ESCAPE);

robot.delay(1000);
robot.mouseMove(300, 300);
robot.mousePress(InputEvent.BUTTON3_MASK);
robot.delay(100);
robot.mouseRelease(InputEvent.BUTTON3_MASK);
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

------解决方案--------------------
未必是不往下执行,也许是控制权已经被剥夺。

楼主你试试看增加点 System.out.println() 来跟踪语句的执行位置情况看看。
------解决方案--------------------
嗯,我也认为是控制权被剥夺了。刚才试了几下,放下是这个问题,只要进入游戏界面控制权就被剥夺了,要怎么在把控制权拿回到程序?
------解决方案--------------------
Java层面能力有限,因为Java要跨平台,所以对操作系统深入控制方面的能力是受限的。

用“按键精灵”吧。。。
------解决方案--------------------
引用:
Java层面能力有限,因为Java要跨平台,所以对操作系统深入控制方面的能力是受限的。

用“按键精灵”吧。。。
按键精灵是正道呵呵 这个游戏反外挂水很深 什么神盾 之类的 按键精灵还有按键盒子 纯硬件绝对没问题.
------解决方案--------------------
嗯 好吧 我去试试按键精灵。谢谢上面的回答哦!