Es gibt eine einfache Java-Anwendung , die Sie verwenden, um einen Screenshot des aktuellen Bildschirms über das Internet senden können. Sie können feststellen, dieses Programm sinnvoll, wenn Sie mehrere Computer verwalten , wenn Sie ein Geschäft besitzen und wollen die Computer-Nutzung Ihrer Mitarbeiter überwachen müssen , oder wenn Sie wollen , um die Computer-Nutzung Ihrer Kinder zu überwachen. Es geht um die Schaffung von zwei Java-Klassen : ScreenServer.java und ScreenClient.java . Allerdings müssen Sie die Warnung am Ende der Seite überprüfen , bevor Sie die Anwendung zum Einsatz . Anleitung
1
Öffnen Sie Ihren bevorzugten Texteditor und sofort sparen das leere Dokument als " ScreenServer.java . " Dies ist der Teil des Programms, das auf dem Remote-System ausgeführt werden muss . Es wird für eine Verbindung auf einem beliebigen Port zu hören und senden Sie die Bildschirm Abmessungen und Daten über diesen Port . In diesem Beispiel wird " 5494 " als Port , aber jede Portnummer tun wird, sofern sie nicht mit einem anderen Dienst auf dem Computer ausgeführt . Natürlich werden Sie brauchen, um direkten Zugriff auf den Remote-Computer zu einem bestimmten Zeitpunkt zu haben, um dieses Programm auf sie setzen und starten es läuft
2
Fügen Sie den folgenden Code in das " ScreenServer ": .
Import java.net * ; .
import java.awt * ; .
Import java.awt.image * ; .
Import java.io . * ;
Import javax.imageio.ImageIO ;
public class ScreenServer {
public static void main ( String [] args) throws Exception {
< p > Robot Roboter = new Robot ();
BufferedImage Bildschirm ;
while ( true) {
ServerSocket server = new ServerSocket ( 5494 );
Sockel client = server.accept ();
Rectangle size = new Rectangle ( Toolkit.getDefaultToolkit () getScreenSize ().) ;
screen = robot.createScreenCapture (Größe) ;
int [ ] = new int rgbData [ (int) ( size.getWidth () * size.getHeight ()) ] ;
screen.getRGB (0,0, (int) size.getWidth ( ), ( int) size.getHeight () , rgbData , 0, (int) size.getWidth ());
OutputStream baseOut = client.getOutputStream ();
ObjectOutputStream out = new ObjectOutputStream ( baseOut );
ImageIO.write (Bildschirm, " png ", new File ( " orig_screen.png "));
out.writeObject (Größe) ;
< p > for (int x = 0; x < rgbData.length ; x + +) Code.
3
Öffnen Sie ein neues Dokument in einem Texteditor , und nennen Sie es " ScreenClient.java . " Dies ist das Programm, das lokal ausgeführt wird . Er verbindet sich mit dem Remote-Computer an der angegebenen Adresse und speichert die Pixel- Daten, die er auf der Festplatte im PNG-Format
4
Fügen Sie den folgenden Code ein, und speichern Sie Ihre Arbeit : .
< p> Import java.net * ; .
import java.awt * ; .
Import java.awt.image * ; .
import java.io. *;
Import javax.imageio.ImageIO ;
public class ScreenClient {
public static void main ( String [] args) throws Exception {
Sockel -Server = new Socket ( args [0] , 5494 );
ObjectInputStream in = new ObjectInputStream ( server.getInputStream ());
Rectangle size = ( Rectangle ) in.readObject ();
int [ ] = new int rgbData [ (int) ( size.getWidth () * size.getHeight ()) ] ;
for (int x = 0; x < rgbData.length ; x + +) {
rgbData [x] = in.readInt (); }
in.close ();
server.close ( );
BufferedImage Bildschirm = new BufferedImage ( (int) size.getWidth (), ( int) size.getHeight () , BufferedImage.TYPE_INT_ARGB );
screen.setRGB (0,0 , (int) size.getWidth (), ( int) size.getHeight () , rgbData , 0, (int) size.getWidth ());
ImageIO.write (Bildschirm, " png" , neue file ( " screen.png ")); }
}