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

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

?? tlient.java.bak

?? 很好用的遠程屏幕監控系統
?? BAK
字號:
/****************************************
* 程序文件名稱:  ClientTest.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一区二区三区免费野_久草精品视频
丝袜美腿亚洲综合| 欧美性受xxxx黑人xyx| 91亚洲精品一区二区乱码| 欧美日韩视频在线第一区 | 国产精品妹子av| 午夜免费欧美电影| 成人动漫精品一区二区| 91精品国产综合久久久久久漫画| 中文字幕一区二区5566日韩| 日韩不卡一区二区三区| 91香蕉视频污| 国产精品午夜电影| 国产精品一区二区三区四区 | 国产成人免费xxxxxxxx| 欧美日韩中文精品| 一区二区三区在线观看网站| 免费日韩伦理电影| 在线精品视频免费播放| 亚洲同性gay激情无套| 国产精品18久久久久久久网站| 欧美日韩一二三区| 伊人婷婷欧美激情| 色综合久久久久久久久久久| 日本一区二区免费在线| 乱中年女人伦av一区二区| 在线播放中文一区| 亚洲一区二区三区免费视频| 色婷婷av久久久久久久| 中文字幕一区日韩精品欧美| 成人黄色在线视频| 国产欧美久久久精品影院| 国产一区中文字幕| 久久久国产精品麻豆| 国产一区二区三区久久悠悠色av | 欧美精品一区二区精品网| 视频在线在亚洲| 欧美精选在线播放| 日韩1区2区3区| 日韩欧美在线网站| 精东粉嫩av免费一区二区三区| 欧美r级电影在线观看| 精彩视频一区二区三区| 国产欧美va欧美不卡在线| 国产成人精品一区二区三区四区| 国产亚洲欧美在线| 不卡的av电影| 亚洲五码中文字幕| 欧美日韩国产高清一区| 日韩av一区二区三区| 日韩欧美在线不卡| 国产成人在线视频网站| 亚洲视频图片小说| 欧美日韩成人综合在线一区二区| 天天av天天翘天天综合网 | 成人动漫av在线| 中文字幕在线免费不卡| 91黄色小视频| 日本在线不卡视频一二三区| 久久夜色精品一区| 成人av片在线观看| 亚洲成人av电影| 久久综合色之久久综合| 成人免费毛片高清视频| 亚洲成av人在线观看| 亚洲精品一线二线三线无人区| 岛国一区二区在线观看| 亚洲综合色成人| 日韩欧美国产不卡| 99久久国产综合精品麻豆| 天堂久久一区二区三区| 国产日韩欧美一区二区三区乱码| 色天天综合久久久久综合片| 奇米一区二区三区av| 亚洲色图制服丝袜| 欧美一二三区在线| 色视频欧美一区二区三区| 免费成人性网站| 亚洲欧美偷拍卡通变态| 精品国产欧美一区二区| 在线视频中文字幕一区二区| 精品综合免费视频观看| 亚洲制服丝袜在线| 久久精品亚洲麻豆av一区二区| 欧美一a一片一级一片| 国产麻豆视频一区二区| 午夜不卡在线视频| 亚洲天堂成人网| 久久综合九色欧美综合狠狠| 欧美日韩三级在线| av色综合久久天堂av综合| 麻豆一区二区三| 亚洲动漫第一页| 一区在线播放视频| 日本一区二区电影| 91麻豆精品91久久久久久清纯 | 国产欧美日韩在线| 91精品国产品国语在线不卡| 色哟哟一区二区三区| 成人性生交大片免费看视频在线 | 麻豆91免费观看| 亚洲午夜免费视频| 伊人一区二区三区| 亚洲丝袜自拍清纯另类| 国产精品入口麻豆九色| 久久久国产午夜精品| 精品入口麻豆88视频| 欧美一区二区精品| 337p亚洲精品色噜噜| 欧美性猛片xxxx免费看久爱| 99精品视频一区| 99免费精品在线| av中文字幕亚洲| av电影天堂一区二区在线| av电影在线观看一区| 99久久国产综合精品色伊| youjizz国产精品| 国产一区二区美女诱惑| 国产成人午夜精品5599 | 亚洲成人自拍偷拍| 午夜在线成人av| 日韩av在线发布| 另类调教123区| 精品午夜久久福利影院| 国产精品亚洲成人| 不卡一卡二卡三乱码免费网站| 国产成人在线观看| 91尤物视频在线观看| 色av一区二区| 51午夜精品国产| 日韩欧美成人午夜| 亚洲精品在线网站| 亚洲欧洲一区二区三区| 亚洲欧美日本在线| 日韩精品视频网| 国产精品综合在线视频| 99国产精品久久久久| 91黄色免费看| 日韩一区二区在线免费观看| 精品国产99国产精品| 中文字幕一区二区三中文字幕| 亚洲激情一二三区| 精品一二三四区| 不卡的av中国片| 欧美精品自拍偷拍| 国产亚洲人成网站| 亚洲影院免费观看| 精品一区二区影视| 99久久精品国产网站| 在线播放中文一区| 国产精品色一区二区三区| 亚洲国产欧美在线人成| 激情亚洲综合在线| 色悠悠久久综合| 精品国产乱码久久久久久久| 国产精品传媒视频| 日韩和欧美一区二区三区| 国产成人精品免费| 欧洲一区二区av| 中文字幕欧美激情| 日韩精品电影一区亚洲| 岛国一区二区三区| 欧美一区二区在线看| 中文字幕在线不卡国产视频| 老鸭窝一区二区久久精品| 99re6这里只有精品视频在线观看| 制服丝袜国产精品| 最新高清无码专区| 韩国理伦片一区二区三区在线播放| 91亚洲国产成人精品一区二三| 日韩免费看网站| 亚洲午夜精品一区二区三区他趣| 国产精品一区二区免费不卡 | 粉嫩av一区二区三区在线播放| 欧美人与性动xxxx| 日韩久久一区二区| 成人高清在线视频| 精品va天堂亚洲国产| 首页国产欧美久久| 欧美中文字幕一区二区三区| 国产精品福利电影一区二区三区四区| 日韩高清中文字幕一区| 色婷婷av一区二区三区gif| 国产精品日韩成人| 国产精品亚洲一区二区三区在线 | 日本不卡的三区四区五区| 色婷婷综合在线| 亚洲女厕所小便bbb| 成人午夜电影网站| 久久久久久久久久看片| 免费黄网站欧美| 欧美一级午夜免费电影| 亚洲bdsm女犯bdsm网站| 在线亚洲高清视频| 一区二区日韩av| 欧美午夜精品久久久久久孕妇| 亚洲欧美偷拍另类a∨色屁股| youjizz国产精品| 亚洲欧洲日产国码二区| jvid福利写真一区二区三区| 国产精品国产自产拍在线|