




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用java实现一个简单的远程监控程序一般的远程监控软件都是用c或者c+等语言开发的,而使用java如何来实现相同的功能呢。首先我们先介绍一下一个简单的远程监控程序的实现原理。功能一,远程屏幕监视(1) 必须要有监控端与被监控端,而且程序保持启动。(2) 被监控端获取本机的屏幕截屏发图给监控端。(3) 监控端在本地窗口中显示被监控端发送过来的图像。(4) (2)(3)步骤重复执行,这时在监控端即可实时监视到被监控端的桌面操作了。功能二,远程控制(1) 必须要有监控端与被监控端,而且程序保持启动。(2) 在监控端监视窗体上执行鼠标点击事件。(3) 记录步骤 (2)中的鼠标点击的坐标,及键值发送到被监控端。(4) 被监控接受鼠标坐标,及键值,然后再本地屏幕上模拟同样的点击动作。OK,现在看下具体的java与语言是如何实现上述功能的。使用java语言要实现截屏的功能就要依靠java类库中的一个有趣的类java.awt.Robot类【俗称Java机器人】了功能一,远程屏幕监视/客户端抓取屏幕快照GuiCamera.javaJava代码 1 BufferedImage screenshot = 2 (new Robot().createScreenCapture( 3 new Rectangle(0, 0, (int) size.getWidth(), 4 (int) size.getHeight(); /客户端发送快照 SendThread.javaJava代码 5 image=gc.snapShot(); 6 /保存为临时文件 7 File file=new File(temp.png); 8 FileOutputStream fileout=new FileOutputStream(file); 9 ImageIO.write(image,png,fileout); 10 fileout.close(); 11 12 /读取图像 13 FileInputStream fileIn=new FileInputStream(file); 14 int len=(int)file.length(); 15 16 /建立字节数组 17 byte buf=new bytelen; 18 fileIn.read(buf,0,len); 19 20 /发送 21 out.write(buf,0,len); 22 out.flush(); 23 24 /间隔500毫秒 25 Thread.sleep(500); /监控端接受图像,Snap.javaJava代码 26 public void run() 27 while (flag) 28 byte buf = new byte102400; 29 try 30 31 imgStream = new BufferedInputStream( 32 socket.getInputStream(); 33 imgStream.read(buf); 34 ImageIcon icon = new ImageIcon(Toolkit. 35 getDefaultToolkit(). 36 createImage(buf); 37 lab.setIcon(icon); 38 39 File file = new File(1.jpg); 40 FileOutputStream fileOut = new FileOutputStream(file); 41 fileOut.write(buf); 42 fileOut.close(); 43 44 repaint(); 45 setVisible(true); 46 System.out.println(读取图象成功!); 47 catch (Exception ex) 48 ex.printStackTrace(); 49 flag = false; 50 51 52 System.out.println(服务器停止); 53 功能二,远程控制监控端记录鼠标操作Snap.javaJava代码 54 55 /内部类,主要功能监听鼠标事件。记录坐标。 56 class keyAdapet extends KeyAdapter 57 /键盘监听适配器 58 public void keyTyped(KeyEvent e) 59 60 if (e.getKeyChar() = 27) /按ESC键 61 Object options = 62 确定, 63 取消; 64 int n = JOptionPane.showOptionDialog(null, 65 是否退出程序?, 66 远程监控系统, 67 JOptionPane.OK_CANCEL_OPTION, 68 JOptionPane.QUESTION_MESSAGE, 69 null, /dont use a custom Icon 70 options, /the titles of buttons 71 options0); 72 if (0 = n) 73 System.exit(0); 74 75 76 77 78 79 80 81 public void mouseClicked(MouseEvent e) 82 83 System.out.println(双击了鼠标); 84 int x = e.getX(); 85 int y = e.getY(); 86 if (tempSocket != null) 87 new CommandMsg(2, tempSocket, x, y).start(); 88 89 90 91 public void mousePressed(MouseEvent e) 92 if (e.BUTTON1 = MouseEvent.BUTTON1) 93 System.out.println(你按了鼠标左键); 94 int x = e.getX(); 95 int y = e.getY(); 96 if (tempSocket != null) 97 new CommandMsg(3, tempSocket, x, y).start(); 98 99 100 101 102 . 103 监控端发送坐标Snap.javaJava代码 104 public void run() 105 out.println(eventType + , + x + , + y); 106 out.flush(); 107 客户端获取鼠标坐标后,在本机相同坐标位置模拟一个鼠标点击操作 Coop.javaJava代码 108 public void run() 109 while (flag) 110 try 111 String s = in.readLine(); 112 decode(s); 113 switch (method) 114 /这里的man实际也是Robot的一个实例。 115 case 1: 116 man.mouseMove(x, y); 117 break; 118 case 2: 119 man.mouseMove(x, y); 120 man.mousePress(InputEvent.BUTTON1_MASK); 121 man.mouseRelease(InputEvent.BUTTON1_MASK); 122 break; 123 case 3: 124 man.mousePress(InputEvent.BUTTON1_MASK); 125 break; 126 case 4: 127 man.mouseRelease(InputEvent.BUTTON1_MASK); 128 break; 129 default: 130 break; 131 132 133 catch (IOException e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿化项目款申请报告(3篇)
- 争霸联考与超级课件的区别
- 工程施工劳务承包合同(标准版)
- 信托债券合同(标准版)
- 服务器外包合同(标准版)
- diABZI-a1-生命科学试剂-MCE
- Desamino-P-ethoxy-glufosinate-ethyl-ester-d3-生命科学试剂-MCE
- 融资困难导致运营中断应急预案
- 临终关怀剧本课件
- 十年(2016-2025)高考英语真题分类汇编:专题07 情态动词和虚拟语气(全国)(原卷版)
- JCT478.2-2013 建筑石灰试验方法 第2部分 化学分析方法
- 《自身免疫性溶血性贫血诊疗指南(2023年版)》解读
- 立法学(第五版)课件 第9-16章 立法程序-立法语言
- 第4章-光电化学
- QC小组管理程序文件
- 骨科AOBOCOMO发展与比较课件
- 第二节-G00、G01指令的格式和应用课件
- 幼儿园中小学中秋节传统节日科普中秋节做月饼主题班会图文课件
- 妊娠合并子宫肌瘤
- 三相四线电能表错误接线分析及判断
- apecib培训myp from principles into practice chinese中学项目从原则到实践
评论
0/150
提交评论