远程控制程序

远程控制程序

功能描述

  1. 界面控制

    被控制端实时向控制端传输界面,控制端接收界面,并显示,以达到监控效果。
  2. 鼠标键盘事件控制

    控制端发送事件给被控制端,被控制端接收事件,并且执行,达到控制效果。

功能实现

  1. 界面监控

    1. 实现原理:
      1. 界面监控原理:截图方式。被控制端对本机进行全屏截图,并且将图片发送给控制端,控制端接收并显示。
      2. 传输方式:通过TCP方式进行传输。使用ServerSocket和Socket进行传输图片对象。
    2. 代码实现:
      1. 界面截图:
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        Robot robot = new Robot();// 自动化类,可用于截图,模拟点击等
        img = new ImageIcon(robot.createScreenCapture(new Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight())));// 截取屏幕

      2. 传输:
        // 控制端(界面接收端)
        ServerSocket receive = new ServerSocket(9999);
        socket = receive.accept();
        ois = new ObjectInputStream(socket.getInputStream());
        img = (ImageIcon) ois.readObject();
        
        /*--------------------------------邪恶分割线---------------------------------------------*/
        
        // 被控制端(界面发送端)
        
        socket = new Socket("192.168.1.145", 9999);
        img = new ImageIcon(robot.createScreenCapture(new Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight())));// 截取屏幕
        oos = new ObjectOutputStream(socket.getOutputStream());						oos.writeObject(img);

  2. 事件监控

    1. 鼠标键盘事件监听:通过Swing,给JLabel(用来显示界面)添加鼠标键盘监听事件,监听鼠标键盘操作。
    2. 鼠标键盘事件传输:与界面传输相同,传输InputEvent类型对象(鼠标事件及键盘事件)。
    3. 鼠标键盘事件模拟:通过Robot类可以模拟鼠标键盘事件的执行。

不足及改进

  1. 不足
    1. 界面传输效率不高。表现为卡顿现象。
    2. 控制端及被控制端之间,进行控制时,坐标不能准确对应。表现为被控端及控制端鼠标光标位置不对应。
  2. 改进
    1. 通过更换更快的网路提高传输速度;通过多线程,打开多个线程同时进行传输界面。
    2. 根据控制端及被控制端的分辨率,进行比例调整。

具体代码

  1. CSDN下载地址:https://download.csdn.net/download/biglxl/11082364
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值