亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tlient.java

?? 很好用的遠程屏幕監控系統
?? JAVA
字號:
/****************************************
* 程序文件名稱:  Client.java
*  功能:    客戶端應用程序    
*****************************************/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 
import java.awt.AWTEvent; 
import java.awt.BorderLayout; 
import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.Rectangle; 
import java.awt.Toolkit; 
import java.awt.event.AWTEventListener; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.KeyEvent; 
import java.awt.event.MouseEvent; 
import java.awt.event.MouseListener; 
import java.awt.event.MouseMotionListener; 
import java.awt.event.MouseWheelEvent; 
import java.awt.event.MouseWheelListener; 
import java.awt.event.WindowAdapter; 
import java.awt.event.WindowEvent; 
import java.awt.image.BufferedImage; 
import java.io.ByteArrayInputStream; 
import java.io.InputStream; 
import java.net.DatagramPacket; 
import java.net.DatagramSocket; 
import java.net.InetAddress; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JMenuItem; 
import javax.swing.JOptionPane; 
import javax.swing.JPopupMenu; 
import javax.swing.JScrollPane; 
import javax.swing.Scrollable; 
import javax.swing.SwingConstants; 
import javax.swing.UIManager; 
import com.sun.image.codec.jpeg.JPEGCodec; 
import com.sun.image.codec.jpeg.JPEGImageDecoder; 



public class ClientTest extends JLabel implements Runnable//,Scrollable
{ 
private DatagramSocket socket; 
    private boolean ended; 
	private long delay=1000; 
    private InetAddress server; 
    private BufferedImage image; 
    public static  String s="";
	final private JPopupMenu menu; 
           
/*  1. 顯示圖像	*/   
public void paint(Graphics g) 
{ 
    super.paint(g); 
    if(image!=null) {g.drawImage(image,0,0,this);} 
   } 
 
  /*  2.構造方法	*/
  public ClientTest(String ip) throws Exception 
  {
   super(); 
   image=null; 
   ended=false; 
   //設置UDP數據報端口
   socket=new DatagramSocket(5000); 
   //設置存放接收數據緩沖區的大小
   socket.setReceiveBufferSize(409600); 
   //存放被控端IP地址
   server=InetAddress.getLocalHost(); 
   //定義向被控端發出截取屏幕圖像指令的線程
   new Thread(new Runnable() 
	{
     public void run() 
	  {
       DatagramPacket packetsign=new 
                   DatagramPacket("REFRESH".getBytes(),20); 
       while(!ended) { 
         try {
           packetsign.setAddress(server); 
           packetsign.setPort(5000); 
           socket.send(packetsign); 
           Thread.sleep(delay); 
           }
	     catch (Exception e)  { 
           try { Thread.sleep(100); } 
           catch (Exception ex) { }
           } 
         }         //end while
      }            //end run
    }).start(); 
  //定義彈出式菜單
  menu=new JPopupMenu(); 
  JMenuItem target=new JMenuItem("監控目的地址");
  final JLabel one=this; 
  this.setPreferredSize(new Dimension(640,480)); 
  InetAddress address=InetAddress.getByName(ip); 
  server=address; 
  menu.add(target);
  /*  設置鼠標按鍵監聽   */
  this.addMouseListener(new MouseListener(){
  public void mouseClicked(MouseEvent e) { process(e);} 
  public void mouseEntered(MouseEvent e) { process(e);} 
  public void mouseExited(MouseEvent e) { process(e); } 
  //點擊鼠標按鍵
  public void mousePressed(MouseEvent e) 
  {  
    process(e); 
    sendMouse(MouseEvent.MOUSE_PRESSED,e.getX(),e.getY(),e.getButton()); 
  } 
  //釋放鼠標按鍵
  public void mouseReleased(MouseEvent e)
  {
    process(e); 
    sendMouse(MouseEvent.MOUSE_RELEASED,e.getX(),e.getY(),e.getButton()); 
  } 
  //偵測鼠標的坐標位置
  private void process(MouseEvent e) 
  {  if(e.isPopupTrigger()) { 
         menu.show(one,e.getX(),e.getY());
       } 
     } 
  });   /*  end addMouseListener( ) */

  /*  設置鼠標移動監聽  */
  this.addMouseMotionListener(new MouseMotionListener(){
   public void mouseDragged(MouseEvent e) {  
      sendMouse(MouseEvent.MOUSE_MOVED,e.getX(),e.getY(),e.getButton()); 
     }   
    
   public void mouseMoved(MouseEvent e) {
      sendMouse(MouseEvent.MOUSE_MOVED,e.getX(),e.getY(),e.getButton()); 
     } 
  });  /*  end addMouseMotionListener( ) */
      
    /*  設置鼠標滾輪監聽  */
  this.addMouseWheelListener(new MouseWheelListener(){ 
   public void mouseWheelMoved(MouseWheelEvent e) { 
    sendMouse(MouseEvent.MOUSE_WHEEL,e.getX(),e.getY(),e.getUnitsToScroll()); 
   } 
  });  /*  end addMouseWheelListener( ) */

 }  /*  構造方法 ClientInit( ) 結束 */

 /*  發送鍵盤信息方法    */
 private void sendKey(int type,int code,char c,int location) { 
  byte[] bytes=new byte[50]; 
  for(int i=0;i<bytes.length;i++) { 
     bytes[i]=' '; 
   } 
  String command; 
  if(type==KeyEvent.KEY_PRESSED) { 
     command="KeyPressed"; 
   } 
  else if(type==KeyEvent.KEY_RELEASED) { 
     command="KeyReleased"; 
   }
 else { 
     command=""; 
   } 
  byte[] the=command.getBytes(); 
  for(int i=0;i<the.length;i++) { 
   bytes[i]=the[i]; 
  } 
  the=String.valueOf(code).getBytes(); 
  for(int i=0;i<the.length;i++) { 
   bytes[20+i]=the[i]; 
  } 
  the=String.valueOf(Character.getNumericValue(c)).getBytes(); 
  for(int i=0;i<the.length;i++) { 
   bytes[30+i]=the[i]; 
  } 
  the=String.valueOf(location).getBytes(); 
  for(int i=0;i<the.length;i++) { 
   bytes[40+i]=the[i]; 
  } 
  try { 
  DatagramPacket packet=new DatagramPacket(bytes,bytes.length,server,5000); 
   socket.send(packet); 
  } 
catch (Exception e) { 
   e.printStackTrace(); 
  } 
 }    /*  end sendKey   */
 
 /*  發送鼠標事件信息方法   */
private void sendMouse(int type,int x,int y,int button)
{ 
byte[] bytes=new byte[50]; 
  for(int i=0;i<bytes.length;i++) { 
bytes[i]=' ';
} 
  String command; 
  if(type==MouseEvent.MOUSE_PRESSED) 
       { command="MousePressed"; }
  else if(type==MouseEvent.MOUSE_RELEASED) 
       { command="MouseReleased"; } 
  else if(type==MouseEvent.MOUSE_MOVED)
       { command="MouseMoved"; }
  else if(type==MouseEvent.MOUSE_WHEEL)
  { 
   command="MouseWheel"; 
  } 
  else {command=""; } 
  
  if(button==MouseEvent.BUTTON1) 
     { 
       button=MouseEvent.BUTTON1_MASK; 
     } 
  else if(button==MouseEvent.BUTTON2) 
     { 
       button=MouseEvent.BUTTON2_MASK; 
     } 
  else if(button==MouseEvent.BUTTON3) 
     { 
       button=MouseEvent.BUTTON3_MASK; 
     } 

  byte[] the=command.getBytes(); 
  for(int i=0;i<the.length;i++) 
     {bytes[i]=the[i]; } 
  
  the=String.valueOf(x).getBytes(); 
  
  for(int i=0;i<the.length;i++) { 
   bytes[20+i]=the[i]; 
  } 
  the=String.valueOf(y).getBytes(); 
  for(int i=0;i<the.length;i++) { 
   bytes[30+i]=the[i]; 
  } 
  the=String.valueOf(button).getBytes(); 
  for(int i=0;i<the.length;i++) { 
   bytes[40+i]=the[i]; 
  } 
  try { 
        DatagramPacket packetmouse=new
 DatagramPacket(bytes,bytes.length,server,5000); 
        socket.send(packetmouse); 
      } 
  catch (Exception e)
   { 
      e.printStackTrace(); 
   } 
 }     /*  end sendMouse( )  */

 
 
 /*  3.將接收到的屏幕圖象數據進行解壓,還原成圖像  */
       private void getScreen(InputStream input) 
	 { 
      try{ 
          JPEGImageDecoder decoder=JPEGCodec.createJPEGDecoder(input); 
          BufferedImage image=decoder.decodeAsBufferedImage(); 
          this.image=image; 
          this.setPreferredSize(new Dimension(image.getWidth(),image.getHeight())); 
          this.updateUI(); 
         }
	  catch (Exception e) {e.printStackTrace();} 
     }

/* 4.線程RUN(),接收傳來的屏幕圖像數據  */
public void run() 
{ 
  byte[] bytes=new byte[409600]; 
  while(!ended) 
  { 
   try { 
	DatagramPacket packet=new DatagramPacket(bytes,bytes.length); 
    socket.receive(packet); 
    ByteArrayInputStream input= new ByteArrayInputStream(
      packet.getData(),packet.getOffset(),packet.getLength()); 
    getScreen(input); 
	}    //try end 
  catch (Exception e)  {         } 
}//end while 
}//end run 
 
 /*  5.CLOSE方法  */
 public void close() 
{ 
ended=true; 
System.exit(0); 
} 

 /* 6.MAIN方法  */
 public static void main(String[] args) 
{ ClientTest one=null; 
         
	  /*  建立輸入IP地址信息窗體ipwin  */
	  JFrame ipwin=new JFrame("請輸入IP:"); 
      ipwin.getContentPane().setLayout(new BorderLayout()); 
      ipwin.setSize(240,80); 
      JButton exit=new JButton("確定"); 
	  JTextField text=new JTextField();
	  ipwin.getContentPane().add(text,BorderLayout.SOUTH); 
      ipwin.getContentPane().add(exit,BorderLayout.CENTER); 
      Dimension screen1=Toolkit.getDefaultToolkit().getScreenSize(); 
      Dimension a1=ipwin.getSize(); 
      ipwin.setLocation((screen1.width-a1.width)/2,(screen1.height-a1.height)/2); 

	 final JFrame xxx=ipwin; 
	 final JTextField yyy=text;
			   
	/* 輸入IP地址窗體--退出鍵的監聽  */
    exit.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) {
          String aaa=yyy.getText();
          s=aaa;
	      xxx.setVisible(false); 
          } 
       }); 
			  
	 /*   輸入IP地址窗體--窗口關閉的監聽  */ 
	ipwin.addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent e) {
        System.exit(0);
       } 
    }); 
    ipwin.setVisible(true);
	/*  判斷   */	  
	while(s==""){  }
	System.out.println(s);

	/*  顯示圖象窗口  */
  try { 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
     JFrame frame=new JFrame("監視中。。。"); 
     frame.getContentPane().setLayout(new BorderLayout()); 
     Dimension screen=Toolkit.getDefaultToolkit().getScreenSize(); 
     frame.setSize(640,480); 
     Dimension thesize=frame.getSize(); 
     frame.setLocation((screen.width-thesize.width)/2,
                     (screen.height-thesize.height)/2); 
	/*   實例化啟動線程  */
    one=new ClientTest(s); 
    new Thread(one).start(); 
    final ClientTest the=one; 
    JScrollPane scroll=new JScrollPane(one); 
    frame.getContentPane().add(scroll,BorderLayout.CENTER); 
               
	/*  顯示圖象窗口--窗口關閉的監聽  */
	frame.addWindowListener(new WindowAdapter(){
	   public void windowClosing(WindowEvent e) {
          the.close(); System.exit(0);
       } 
     }); 
                
     /*   對被控端顯示窗口的鍵盤進行監聽    */
   Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener(){
     public void eventDispatched(AWTEvent event) {
       KeyEvent e=(KeyEvent)event; 
       if(e.getID()==KeyEvent.KEY_PRESSED) {
         the.sendKey(KeyEvent.KEY_PRESSED,e.getKeyCode(),
                     e.getKeyChar(),e.getKeyLocation()); 
        }
      else if(e.getID()==KeyEvent.KEY_RELEASED) {
         the.sendKey(KeyEvent.KEY_RELEASED,e.getKeyCode(),
                     e.getKeyChar(),e.getKeyLocation()); 
        } 
      } 
   },AWTEvent.KEY_EVENT_MASK); 
   frame.setVisible(true); 
  }//end try
 catch (Exception e) {
 	 e.printStackTrace(); 
     if(one!=null) {one.close();} 
	 System.exit(0); 
  }     /* end catch  */
 }  /*   end   main    */
 	  
}  /*    end class    */


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩日av一区二区| 成人动漫中文字幕| 在线成人av影院| 欧美96一区二区免费视频| 91精品欧美综合在线观看最新| 日韩高清欧美激情| 欧美电视剧免费全集观看| 国产精品原创巨作av| 中文字幕av资源一区| 欧美精品粉嫩高潮一区二区| 午夜久久久久久电影| 欧美一区二区三区在线观看视频| 久久99精品网久久| 国产精品麻豆一区二区| 欧洲激情一区二区| 久草中文综合在线| 亚洲天天做日日做天天谢日日欢| 欧美特级限制片免费在线观看| 日本系列欧美系列| 久久精品网站免费观看| 91黄视频在线| 麻豆国产一区二区| 亚洲欧美视频一区| 欧美变态口味重另类| av中文字幕一区| 免费黄网站欧美| ...xxx性欧美| 日韩欧美中文一区二区| 国产91精品在线观看| 亚洲成人精品在线观看| 久久午夜免费电影| 欧美日韩一区中文字幕| 国产.欧美.日韩| 日韩一区精品字幕| 中文字幕在线不卡视频| 日韩一区二区免费在线电影| av福利精品导航| 狠狠色丁香婷综合久久| 一区二区三区小说| 国产欧美日韩不卡免费| 日韩亚洲欧美在线| 欧美色男人天堂| youjizz久久| 国产一区二区三区四区五区入口 | 综合网在线视频| 日韩一级完整毛片| 在线视频国产一区| 成人久久视频在线观看| 久久99深爱久久99精品| 午夜国产精品一区| 一区二区成人在线视频| 中文在线免费一区三区高中清不卡| 欧美日韩国产综合一区二区三区 | 色老综合老女人久久久| 国产成人精品www牛牛影视| 麻豆久久久久久久| 日韩激情一区二区| 亚洲综合男人的天堂| 中文字幕在线观看不卡| 欧美激情综合网| 久久久久久电影| 一区二区不卡在线播放 | 亚洲人成在线观看一区二区| 久久精品视频免费观看| 欧美不卡在线视频| 欧美精品一区二区高清在线观看| 欧美网站大全在线观看| 在线亚洲人成电影网站色www| 成人动漫av在线| 懂色一区二区三区免费观看| 精品一区二区三区香蕉蜜桃| 免费在线成人网| 久久国产人妖系列| 六月丁香婷婷久久| 国产麻豆精品theporn| 国精品**一区二区三区在线蜜桃| 美女在线视频一区| 国产在线麻豆精品观看| 国产美女视频91| 欧美午夜片在线观看| 九九热在线视频观看这里只有精品| 亚洲高清视频的网址| 日韩一区二区三区精品视频 | 久久成人免费电影| 精品一区二区免费视频| 日韩国产精品久久久久久亚洲| 午夜影院久久久| 天堂va蜜桃一区二区三区漫画版| 日本不卡视频在线观看| 另类成人小视频在线| 国产精品中文字幕日韩精品| 成人开心网精品视频| 一本大道久久a久久综合婷婷| 欧美亚洲愉拍一区二区| 日韩一区二区在线观看视频| 久久一夜天堂av一区二区三区| 日本一区二区三区久久久久久久久不 | 中文字幕一区二区三区精华液| 欧美午夜寂寞影院| 这里只有精品电影| 亚洲精品在线三区| 国产精品美女视频| 亚洲一区在线免费观看| 日本在线观看不卡视频| 国产成人在线视频网站| 欧美mv和日韩mv的网站| 26uuu亚洲综合色| 亚洲日韩欧美一区二区在线| 久久久久久一二三区| 国产亲近乱来精品视频| 国产欧美日韩在线观看| 日韩毛片一二三区| 亚洲国产你懂的| 国产成人综合视频| 色婷婷精品久久二区二区蜜臂av| 欧美日韩亚洲综合在线| 最新成人av在线| 国产日产精品1区| 久久综合色之久久综合| 国产精品久久久久久久久久久免费看| 洋洋av久久久久久久一区| 国内一区二区视频| 91久久线看在观草草青青| 精品国产免费久久| 亚洲在线视频网站| 成人手机在线视频| 欧美一区二区三区播放老司机| 国产精品欧美综合在线| 男女男精品视频网| 色视频一区二区| 国产视频一区在线播放| 日韩专区在线视频| 99re热这里只有精品免费视频| 日韩精品一区二区三区四区 | 欧美日韩激情一区二区三区| 久久精品视频在线看| 蜜桃久久久久久| 欧美专区亚洲专区| 最新成人av在线| 高清久久久久久| 欧美videossexotv100| 亚洲成在人线在线播放| 92国产精品观看| 中文在线免费一区三区高中清不卡| 热久久免费视频| 欧美猛男超大videosgay| 亚洲图片激情小说| av一二三不卡影片| 国产婷婷色一区二区三区| 美腿丝袜在线亚洲一区 | 精品一区二区精品| 69久久99精品久久久久婷婷| 亚洲在线视频一区| 色婷婷香蕉在线一区二区| 国产精品美女视频| 成人午夜视频福利| 国产精品素人一区二区| 国产精品一区三区| 2020国产精品| 国产精品亚洲一区二区三区在线| 欧美大片在线观看一区二区| 免费在线观看精品| 精品欧美一区二区久久| 九九热在线视频观看这里只有精品| 欧美一区二区三区影视| 蜜臀精品久久久久久蜜臀| 日韩一区二区三区观看| 久国产精品韩国三级视频| 久久综合视频网| 成人美女在线观看| ㊣最新国产の精品bt伙计久久| 成+人+亚洲+综合天堂| 亚洲四区在线观看| 欧美性猛交一区二区三区精品| 亚洲自拍另类综合| 欧美高清视频www夜色资源网| 亚洲综合久久久| 欧美一二三区在线| 国内一区二区在线| 国产精品家庭影院| 色久综合一二码| 日韩高清不卡一区| 久久久久久久久久久久久夜| 国产成人免费在线观看不卡| 亚洲国产精品传媒在线观看| 99re这里都是精品| 丝瓜av网站精品一区二区| 欧美一级午夜免费电影| 国产成人午夜精品影院观看视频| 国产精品乱码久久久久久| 色狠狠桃花综合| 水蜜桃久久夜色精品一区的特点| 欧美电影精品一区二区| www..com久久爱| 亚洲成人av电影在线| 亚洲一区二区三区在线播放| 欧美一区二区三区在线看| 国产成+人+日韩+欧美+亚洲| 亚洲美女一区二区三区| 日韩一区二区三区av|