Java开发远控软件系列(屏幕回收)

前言

  • 开发远控软件的步骤进行分布 , 然后将思路和开发步骤教给大家.

屏幕回收其实就是一直截图被控端的整个屏幕 , 然后通过网络传输显示到控制端界面上.

涉及知识点

  1. 文件流操作
  2. Robot(机器人)类库的使用(实现截图功能)
  3. Toolkit类库的使用(实现计算当前屏幕大小)

成功截图

这里写图片描述

代码

package Remote;

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

import javax.imageio.ImageIO;

/**
 * 远程控制软件之屏幕截图
 * @author Administrator
 *
 */
public class RemoteTest {
    /**获取屏幕截图**/
    public BufferedImage getScreenshot() throws Exception  {
        BufferedImage shotImg = null;
        Robot robot = new Robot();
        //获取屏幕大小
        Toolkit toolkit = Toolkit.getDefaultToolkit().getDefaultToolkit();
        Dimension screenSize = toolkit.getScreenSize();
        int width = (int) screenSize.getWidth();
        int height = (int) screenSize.getHeight();

        //设置截图的矩形并截图
        shotImg= robot.createScreenCapture(new Rectangle(width , height ) );
        return shotImg;
    }

    /**将屏幕截图保存到指定目录下**/
    public boolean saveScreenshot(BufferedImage shotImg ,String ext ,  String savePath ) throws Exception {
        //这里可以指定一些压缩算法对图片进行压缩.
        FileOutputStream output = new FileOutputStream(new File(savePath ) );
        return ImageIO.write(shotImg, ext  , output);

    }


    public static void main(String[] args) throws Exception {
        RemoteTest remote = new RemoteTest();
        BufferedImage shotImg = remote.getScreenshot();
        boolean flag = remote.saveScreenshot(shotImg , "png" , "F:\\JAVA测试\\test.png" );
        if(flag ){
            System.out.println("success" );
        }else{
            System.out.println("error!" );
        }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值