




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、利用java實現一個簡單的遠程監控程序一般的遠程監控軟件都是用c或者C+等語言開發的,而使用java如何來實現相同的功能呢。首先我們先介紹一下一個簡單的遠程監控程序的實現原理。功能一,遠程屏幕監視必須要有監控端與被監控端,而且程序保持啟動。被監控端獲取本機的屏幕截屏發圖給監控端。監控端在本地窗口中顯示被監控端發送過來的圖像。(2)(3)步驟重復執行,這時在監控端即可實時監視到被監控端的桌面操作了。功能二,遠程控制必須要有監控端與被監控端,而且程序保持啟動。在監控端監視窗體上執行鼠標點擊事件。記錄步驟(2)中的鼠標點擊的坐標,及鍵值發送到被監控端。被監控接受鼠標坐標,及鍵值,然后再本地屏幕上模擬
2、同樣的點擊動作。0K,現在看下具體的java與語言是如何實現上述功能的。使用java語言要實現截屏的功能就要依靠java類庫中的一個有趣的類java.awt.Robot類【俗稱Java機器人】了功能一,遠程屏幕監視/客戶端抓取屏幕快照GuiCamera.javaJava代碼旦BufferedImagescreenshot=2(newRobot().createScreenCapture(,newRectangle(O,0,(int)size.getWidth(),4(int)size.getHeight();/客戶端發送快照SendThread.javaJava代碼至image=gc.snap
3、Shot();/保存為臨時文件Filefile=newFile(temp.png);FileOutputStreamfileout=newFileOutputStream(file);ImageIO.write(image,png,fileout);fileout.close();/讀取圖像FileInputStreamfileIn=newFileInputStream(file);intlen=(int)file.length();/建立字節數組bytebuf=newbytelen;fileIn.read(buf,0,len);/發送out.write(buf,0,len);out.flus
4、h();/間隔500毫秒6,8101213141161,18120212223242Thread.sleep(500);61Objectoptions=/監控端接受圖像,Snap.javaJava代碼審publicvoidrun()while(flag)bytebuf=newbyte102400;tryimgStream=newBufferedInputStream(socket.getInputStream();imgStream.read(buf);ImageIconicon=newImageIcon(Toolkit.getDefaultToolkit().createImage(buf)
5、;lab.setIcon(icon);Filefile=newFile(1.jpg);FileOutputStreamfileOut=newFileOutputStream(file);fileOut.write(buf);fileOut.close();repaint();26272830312333435363,383404142434461Objectoptions=45setVisible(true);46System.out.println(讀取圖象成功!)47catch(Exceptionex)4ex.printStackTrace();49flag=false;505152Sys
6、tem.out.println(服務器停止);53功能二,遠程控制監控端記錄鼠標操作Snap.javaJava代碼54內部類,主要功能監聽鼠標事件。記錄坐標。5,classkeyAdapetextendsKeyAdapter57鍵盤監聽適配器5publicvoidkeyTyped(KeyEvente)59if(e.getKeyChar()=27)按ESC鍵626364666768697071727,747767778798081828,確定,取消;intn=JOptionPane.showOptionDialog(null,是否退出程序?,遠程監控系統,JOptionPane.OK_CANCE
7、L_OPTION,JOptionPane.QUESTION_MESSAGE,null,/dontuseacustomIconoptions,/thetitlesofbuttonsoptions0);if(0=n)System.exit(0);publicvoidmouseClicked(MouseEvente)System.out.println(雙擊了鼠標);intx=e.getX();inty=e.getY();if(tempSocket!=null)newCommandMsg(2,tempSocket,x,y).start();publicvoidmousePressed(MouseEv
8、ente)if(e.BUTTON1=MouseEvent.BUTTON1)System.out.println(你按了鼠標左鍵);intx=e.getX();inty=e.getY();if(tempSocket!=null)newCommandMsg(3,tempSocket,x,y).start();48586888990919293949,9699899100101102103監控端發送坐標Snap.javaJava代碼104publicvoidrun()105out.println(eventType+,+x+,+y);10out.flush();107客戶端獲取鼠標坐標后,在本機相同
9、坐標位置模擬一個鼠標點擊操作Coop.javaJava代碼108publicvoidrun()109while(flag)110try111Strings=in.readLine();112decode(s);113switch(method)114/這里的man實際也是Robot的一個實例。115case1:11man.mouseMove(x,y);117break;118case2:119man.mouseMove(x,y);120man.mousePress(InputEvent.BUTTON1_MASK);121122123124121261271281291301,11,2133134131,6137138139man.mouseRelease(InputEvent.BUTTON1_MASK);break;case3:man.mousePress(InputEvent.BUTTON1_MASK);break;case4:man.mouseRelease(InputEvent.BUTTON1_MASK);break;default:break;catch(IOE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售合同預采購合同
- 1 公民基本權利 議題式公開課一等獎創新教案 統編版道德與法治八年級下冊
- 幼兒音樂舞蹈游戲基礎知識
- 智能心血管監測管理制度
- 就業在線系統操作培訓-04
- 關于上海市教育綜合改革方案的報告-翁鐵慧
- Unit 4 Section B 3a-3b教學設計 2024-2025學年人教版八年級英語下冊
- 商業辦公大樓公共區域裝修工程合同
- 化工企業安全評價與職業病防治合同
- 事業單位員工聘用合同樣本
- 產品開發項目管理
- 你當像鳥飛往你的山讀書分享
- 河南煙草公司招聘考試真題
- 2024年新知杯上海市初中數學競賽參考解答
- 國家職業技術技能標準 6-16-02-06 油氣水井測試工 人社廳發202226號
- 2024年天津市初中地理學業考查試卷
- 物業客服溝通技巧培訓課件
- 阿爾及利亞醫療器械法規概述
- DB41-T 2549-2023 山水林田湖草沙生態保護修復工程驗收規范
- 重視心血管-腎臟-代謝綜合征(CKM)
- 宮頸癌防治知識競賽題庫附答案(300 題)
評論
0/150
提交評論