`
songhaikang
  • 浏览: 32815 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

开发远程控制软件时的屏幕监视设计思想

阅读更多
学软件的朋友们,在刚开始的时候大多人都有想要作黑客的梦想吧,当然了这个时候最佩服的软件就是,远程控制软件,看了这篇文章你会发现远程控制软件的开发其实也是很简单的。

Java开发的屏幕监控案例源代码:http://www.blackswansoft.com/lanxiangjian/article/20110111144508390.html


屏幕监视设计思想一(理论型--初步设计):
1.用Java中自带的截屏方法进行截屏,然后生成图片,保存在本地(比如C://temp//1.jpg)主机上(被监视端)
2.用socket将本地的图片文件传送到指定的电脑上(监视端),并且保存在该电脑上(比如C://temp//1.jpg)
3.用Java的swing写出一个显示图片的窗体,在监视端的电脑上运行并且将传送过来的图片(比如C://temp//1.jpg)显示出来。
      以上三个步骤是最原始的屏幕监视设计思路,然后我们再将以上三个步骤循环的有序执行,
      监视端显示图片的窗体再不停的刷新,我们就可以看到了被视端电脑屏幕的实时变化了,从而达到监视的效果。

   优点:
1.设计起来比较简单,并且比较容易理解,比较适合初级程序员设计。
   缺点:
1.在磁盘中产生了大量的图片文件,该文件很快就变成了垃圾文件,不适合应用到现实中。
2.如果被监视端的电脑处于静止状态(键鼠空闲),该循环仍在执行,性能上会有很大的浪费
3.需要很好的网速支持,为了达到比较清晰的效果,循环频率应该比较高些(比如每秒50次),只能在局域网中使用。


屏幕监视设计思想二(优化型--利用内存):
1.用Java中自带的截屏方法进行截屏,然后将截取的屏幕图片对象保存到一个图片对象里面(内存)
2.用socket将该图片对象传送到指定的电脑上(监视端)
3.用Java的swing写出一个显示图片的窗体,在监控端的电脑上运行并且将该图片对象显示出来。

   优点:
1.设计起来稍有难度,比较适合对socket有一定了解的程序员设计。
2.没有生成图片的这个过程了,避免垃圾文件的产生。
   缺点:
2.如果被监视端的电脑处于静止状态(键鼠空闲),该循环仍在执行,性能上会有很大的浪费
1.需要很好的网速支持,为了达到比较清晰的效果,循环频率应该比较高些(比如每秒50次),只能在局域网中使用。

屏幕监视设计思想三(高级型--运动检测):
1.首先对被视端电脑的鼠标和键盘添加上监听。
2.运动分析:
1.当发现鼠标移动时(从开始移动到停止移动)以一定的循环次数(比如50次)执行设计思想二中的流程。
2.当发现鼠标单击时(从右键或左键按下到起来)以一定的循环次数(比如50次)执行设计思想二中的流程。
3.当发现鼠标拖动时(从开始移动到停止移动)以一定的循环次数(比如50次)执行设计思想二中的流程。

4.当发现键盘点击时(从开始按下到起来)以一定的循环次数(比如50次)执行设计思想二中的流程。

   优点:
1.设计起来比较难度,而且最大的难度是Java自身不支持后台监听(仅能对鼠标做一定的监听,但并不能实现全面监听),
所以要借助与JNI(Java调用C语言,用C语言写出后台监听),比较适合对高级程序员设计。
2.没有生成图片的这个过程了,避免垃圾文件的产生。
3.当被监视端的电脑处于静止状态(键鼠空闲)时,监视过程停止,在性能上会有很大的提高。
   缺点:
1.需要很好的网速支持,为了达到比较清晰的效果,循环频率应该比较高些(比如每秒50次),只能在局域网中使用。


以上三种设计思想是我们想到并且总结出来的。或许并不是很好,仅供参考,如有比较好的设计方案多谢推荐。
我们在黑天鹅远控中使用的是第二种设计思想。

其实我一直还是很佩服"凌波多媒体教学"软件的设计,该软件可以将一台电脑的屏幕图像同时显示到几十台电脑上,而且也并不是很卡。
不知他们的屏幕监视设计原理是什么。

当屏幕监视设计出来之后,屏幕监控就很简单了。需要在监控端看到被控端屏幕的基础上,
再添加上将监控端的鼠标和键盘的操作传送到被控端,并且执行就可以了。



推荐软件

用java开发的一款功能强大的开源的远程控制软件,最近又升级了,添加了许多使用的功能,而且代码也有了很大程度的优化。可以实现生成服务器、修改上线主机名称、屏幕监视,屏幕控制、主动连接、上传文件、下载文件、 远程命令、远程任务管理器、发送警告、相互聊天、换皮肤、版本升级提醒等功能,通过该软件可以实现用一台电脑同时控制多台电脑,也可以多台电脑控制同一台电脑等。
软件官方网站下载地址:http://dl.iteye.com/topics/download/c1b7acd2-c7ad-3753-8929-48424025d711

软件如下图所示:




1
0
分享到:
评论

相关推荐

    基于JAVA CS远程监控系统软件的实现(源代码+WORD论文文档论文).zip

    本系统是利用类java.awt.robot中的屏幕截取和鼠标、键盘自动控制功能,然后加上网络传输功能来完成来完成截屏和远程控制的。 2.2.2 系统运行概述 1.启动被监控端,打开指定的UDP端口号。用于读取命令。 2.被监控端...

    毕业设计-基于JAVA CS远程监控系统软件的实现(源代码+论文)

    本系统是利用类java.awt.robot中的屏幕截取和鼠标、键盘自动控制功能,然后加上网络传输功能来完成来完成截屏和远程控制的。 随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过...

    基于JAVA CS远程监控系统软件的实现(源代码+说明文档).zip

    在进行一台电脑对多台远端电脑进行控制时,我们发现,远程监控软件似乎更像一个局域网的网络管理员,而提供远程控制的远程终端服务就像极了办公室局域网的延伸。这种一对多的连接方式在节省了调制解调器的同时,还...

    换热站3G远程监控系统设计方案.doc

    换热站3G远程视频监控系统 设 计 方 案 沈阳捷思特网络科技有限公司 2012年02月 目 录 1 系统概述 3 1.1 系统概述 3 1.2 3G无线网络介绍 3 1.3 项目意义 3 2 系统方案设计 4 2.1 系统介绍 4 2.2 系统功能特点 5 2.3 ...

    精通Windows.API-函数、接口、编程实例.pdf

    15.1.3 Cabinet软件开发工具包(CABSDK) 466 15.2 编写INF文件 466 15.2.1 INF文件格式 466 15.2.2 Install节 468 15.2.3 CopyFiles和AddReg等安装过程 468 15.2.4 源路径和目的路径 469 15.2.5 字符串...

    精通WindowsAPI 函数 接口 编程实例

    15.1.3 Cabinet软件开发工具包(CABSDK) 466 15.2 编写INF文件 466 15.2.1 INF文件格式 466 15.2.2 Install节 468 15.2.3 CopyFiles和AddReg等安装过程 468 15.2.4 源路径和目的路径 469 15.2.5 字符串...

    JAVA上百实例源码以及开源项目

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    JAVA上百实例源码以及开源项目源代码

    Java目录监视器源程序 9个目标文件 内容索引:JAVA源码,综合应用,目录监视 用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。...

    java源码包2

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    java源码包---java 源码 大量 实例

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

Global site tag (gtag.js) - Google Analytics