• 大小: 17KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Java
  • 标签: Java  远程控制  

资源简介

Java实现远程控制程序。

资源截图

代码片段和文件信息

package com.lxl.controller;

import java.awt.Dimension;
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseWheelEvent;
import java.io.IOException;
import java.io.objectInputStream;
import java.io.objectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

import javax.swing.ImageIcon;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JScrollBar;

/**
 * 远程控制
 * 
 * 界面接收端线程方法
 * 
 * 任务:1、接受界面;1、发送鼠标,键盘事件
 * 
 * @author lxl
 *
 */
public class Receiver implements Runnable {

static Socket socket = null;
// 获取屏幕尺寸
static Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
// 界面显示(显示传送过来的界面图片)
static JLabel label = new JLabel();
static Jframe controllerUI = new Jframe();
static {
controllerUI.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
controllerUI.setSize(d.getSize());
label.setSize(d.getSize());
controllerUI.add(label);
controllerUI.setVisible(true);

}

@Override
public void run() {
/**
 * 界面接收
 */
new Thread(new Runnable() {

@Override
public void run() {
try {
System.out.println(“UI界面接收服务器启动“);
ServerSocket receive = new ServerSocket(9999);
ImageIcon img = null;
objectInputStream ois = null;
while (true) {
socket = receive.accept();
ois = new objectInputStream(socket.getInputStream());
img = (ImageIcon) ois.readobject();
label.setSize(new Dimension(img.getIconWidth() img.getIconHeight()));
label.setIcon(img);
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}).start();
/**
 * 鼠标键盘事件
 * 
 * 发送
 */
new Thread(new Runnable() {
private void sendAction(InputEvent e) {
if (socket != null) {
new Thread(new Runnable() {

@Override
public void run() {
objectOutputStream oos = null;
Socket order = null;
try {
order = new Socket(“192.168.31.135“ 8888);
oos = new objectOutputStream(order.getOutputStream());
// 创建鼠标事件
oos.writeobject(e);
oos.flush();
} catch (IOException e1) {
e1.printStackTrace();
} finally {
if (oos != null) {
try {
oos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}).start();
}
}

@Override
public void run() {
controllerUI.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
sendAction(e);
}

@Ove

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-02 15:13  RemoteControl\
     文件         301  2019-03-21 16:10  RemoteControl\.classpath
     文件         389  2019-03-21 16:10  RemoteControl\.project
     目录           0  2019-04-02 15:13  RemoteControl\.settings\
     文件          57  2019-03-25 11:23  RemoteControl\.settings\org.eclipse.core.resources.prefs
     文件         598  2019-03-21 16:10  RemoteControl\.settings\org.eclipse.jdt.core.prefs
     目录           0  2019-04-02 15:13  RemoteControl\bin\
     目录           0  2019-04-02 15:13  RemoteControl\bin\com\
     目录           0  2019-04-02 15:13  RemoteControl\bin\com\lxl\
     目录           0  2019-04-02 15:13  RemoteControl\bin\com\lxl\controller\
     文件        1876  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver$1.class
     文件        1584  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver$2$1.class
     文件         855  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver$2$2.class
     文件         785  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver$2$3.class
     文件         864  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver$2$4.class
     文件        1055  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver$2$5.class
     文件        1825  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver$2.class
     文件        1593  2019-04-02 14:21  RemoteControl\bin\com\lxl\controller\Receiver.class
     文件        1872  2019-04-02 14:56  RemoteControl\bin\com\lxl\controller\Sender$1.class
     文件        2725  2019-04-02 14:56  RemoteControl\bin\com\lxl\controller\Sender$2.class
     文件         795  2019-04-02 14:56  RemoteControl\bin\com\lxl\controller\Sender.class
     目录           0  2019-04-02 15:13  RemoteControl\src\
     目录           0  2019-04-02 15:13  RemoteControl\src\com\
     目录           0  2019-04-02 15:13  RemoteControl\src\com\lxl\
     目录           0  2019-04-02 15:13  RemoteControl\src\com\lxl\controller\
     文件        4218  2019-04-02 14:21  RemoteControl\src\com\lxl\controller\Receiver.java
     文件        4774  2019-04-02 14:56  RemoteControl\src\com\lxl\controller\Sender.java

评论

共有 条评论