用java实现一个简单远程监控软件_利用java实现一个简单的远程监控程序

一般的远程监控软件都是用c或者c++等语言开发的,而使用java如何来实现相同的功能呢。

首先我们先介绍一下一个简单的远程监控程序的实现原理。

功能一,远程屏幕监视

(1) 必须要有监控端与被监控端,而且程序保持启动。

(2) 被监控端获取本机的屏幕截屏发图给监控端。

(3) 监控端在本地窗口中显示被监控端发送过来的图像。

(4) (2)(3)步骤重复执行,这时在监控端即可实时监视到被监控端的桌面操作了。

功能二,远程控制

(1) 必须要有监控端与被监控端,而且程序保持启动。

(2) 在监控端监视窗体上执行鼠标点击事件。

(3) 记录步骤 (2)中的鼠标点击的坐标,及键值发送到被监控端。

(4) 被监控接受鼠标坐标,及键值,然后再本地屏幕上模拟同样的点击动作。

OK,现在看下具体的java与语言是如何实现上述功能的。

使用java语言要实现截屏的功能就要依靠java类库中的一个有趣的类

java.awt.Robot类【俗称Java机器人】了

功能一,远程屏幕监视

//『客户端』抓取屏幕快照GuiCamera.java

BufferedImage screenshot =

(new Robot()).createScreenCapture(

new Rectangle(0, 0, (int) size.getWidth(),

(int) size.getHeight()));

BufferedImage screenshot =

(newRobot()).createScreenCapture(

newRectangle(0,0, (int) size.getWidth(),

(int) size.getHeight()));

//『客户端』发送快照 SendThread.java

image=gc.snapShot();

//保存为临时文件

File file=new File("temp.png");

FileOutputStream fileout=new FileOutputStream(file);

ImageIO.write(image,"png",fileout);

fileout.close();

//读取图像

FileInputStream fileIn=new FileInputStream(file);

int len=(int)file.length();

//建立字节数组

byte[] buf=new byte[len];

fileIn.read(buf,0,len);

//发送

out.write(buf,0,len);

out.flush();

//间隔500毫秒

Thread.sleep(500);

image=gc.snapShot();

//保存为临时文件

File file=newFile("temp.png");

FileO

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值