java实现远程控制
今天我第一次用markdow写博客,虽然感觉有点别扭,但是好歹也要尝试一下新的事物。
今天我做java的远程操纵程序,类似QQ的远程控制。
但是只是做了鼠标和键盘的,而且因为是一个人做,所以测试相当的不方便,程序运行后鼠标进入了无限的返回,到星期六再和队友测试一下。
还有就是想做屏幕同步功能,但是遇到了BufferedImage类没序列化的难题,本来是想创建一个新的MyBufferedImage类继承BufferedImage类然后再实现序列化接口Serializable,后来我发现我想得太简单了,继承BufferedImage类需要重写里面的方法。
再加上现在时间也比较晚了,所以就没有做下去,明天再解决问题吧。
下面是我的java远程控制实现(只有鼠标键盘控制,没有界面同步)代码:
客户端有两个类,一个是单例客户端的封装类,还有一个是界面类:
界面类:
package control;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.ObjectInputStream;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ControlClient extends JFrame{
public JPanel jp;
public static void main(String[] args) {
ControlClient cc = new ControlClient();
cc.remoteConnect();
cc.initFrame();
}
public void initFrame(){
setTitle("");
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setSize(dim);
setDefaultCloseOperation(3);
setLocationRelativeTo(null);
setVisible(true);
// ClientRun(ClientSingle.getClientSingle().getObjectInputStream(),this);
this.addMouseListener(ma);
this.addKeyListener(ka);
this.addMouseMotionListener(ma);
this.addMouseWheelListener(ma);
}
MouseAdapter ma = new MouseAdapter(){
public void mousePressed(MouseEvent e) {
SendEvent(e);
}
public void mouseClicked(MouseEvent e) {
SendEvent(e);
}
public void mouseReleased(MouseEvent e) {
SendEvent(e);
}
public void mouseMoved(MouseEvent e) {
SendEvent(e);
}
};
KeyAdapter ka &#