我想用个线程,实现真实的键盘按键(像按键精灵一样,像网游中的傻瓜挂机一样)
; 把如下代码放在某个线程中,这样我的电脑就一直在按键J,做了试验也是这样的,比如
运行程序,再打开个记事本,这就可以看到记事本将自动写J,但是我开一个网游,想自动打怪
,就没效果了,也试了下 拳王97,把短手放在J上,一样没有效果(不自动打拳)。请问怎么在游戏
中也能实现键盘按键。不知道为什么,在记事本中能看到效果,在游戏中就看不到。不是这段代码就
是在后台给我“按”键吗?
try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_J);
robot.keyRelease(KeyEvent.VK_J);
} catch (AWTException e) {
}
; 把如下代码放在某个线程中,这样我的电脑就一直在按键J,做了试验也是这样的,比如
运行程序,再打开个记事本,这就可以看到记事本将自动写J,但是我开一个网游,想自动打怪
,就没效果了,也试了下 拳王97,把短手放在J上,一样没有效果(不自动打拳)。请问怎么在游戏
中也能实现键盘按键。不知道为什么,在记事本中能看到效果,在游戏中就看不到。不是这段代码就
是在后台给我“按”键吗?
try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_J);
robot.keyRelease(KeyEvent.VK_J);
} catch (AWTException e) {
}
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
public class Keytext {
Thread th_jineng2;
public Keytext(){
JFrame jf=new JFrame("asdas");
jf.getContentPane();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
th_jineng2=new Thread(new Runnable(){//线程每隔一秒按J
public void run() {
while(true){
moni(KeyEvent.VK_J);//参数可以改成你想要的
try {
th_jineng2.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}}
});
th_jineng2.start();
jf.setSize(200,200);
jf.setVisible(true);
}
void moni(int Key){
try {
Robot robot = new Robot();
robot.keyPress(Key);
robot.keyRelease(Key);
} catch (AWTException e) {
}
}
public static void main(String arg[]){
new Keytext();
}
}
moni(KeyEvent.VK_J);//参数可以改成你想要的 些方法为按下和释放某键
try {
th_jineng2.sleep(1000); //按键停顿一秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}}
});
又想了下,问题在这上面这段中的sleep(1000)了;当我不加th_jineng2.sleep(1000);这句时在游戏中有效果,不过是
不停地按这某键,还有其它方法停顿指定时间吗?用robot.delay(times)一样在游戏中没效果,但在记事本中同样sleep
一样有效果。