Det finns en enkel Java-program som du kan använda för att skicka en aktuell skärmdump över Internet . Du kan hitta det här programmet användbart om du behöver för att hantera flera datorer , om du äger ett företag och vill övervaka datoranvändning av dina anställda , eller om du vill övervaka datoranvändning av dina barn . Det innebär att man skapar två Java-klasser : ScreenServer.java och ScreenClient.java . Men var noga med att kontrollera varnings längst ner på sidan innan ansökan tas i bruk . Instruktioner
1
Öppna en textredigerare , och omedelbart spara det tomma dokumentet som " ScreenServer.java . " Detta är den del av programmet som måste köras på fjärrsystemet . Det kommer att lyssna till en anslutning på en godtycklig port och skicka skärmen mått och data över den porten . Här exemplet används " 5494 " som port , men alla portnummer kommer att göra , förutsatt att det inte står i strid med en annan tjänst som körs på datorn . Naturligtvis måste du ha direkt tillgång till fjärrdatorn någon gång för att sätta detta program på den och starta den igång
2
Klistra in följande kod i " ScreenServer " : .
import java.net *; .
import java.awt *; .
import java.awt.image *; .
import java.io . * ;
import javax.imageio.ImageIO ,
public class ScreenServer {
public void main ( String [] args ) kastar Undantag {
robot robot = ny robot ( ) ;
BufferedImage skärm ,
while ( true ) {
ServerSocket server = new ServerSocket ( 5494 ) ;
Socket klient = server.accept ( ) ;
Rectangle size = new Rectangle ( Toolkit.getDefaultToolkit ( ) getScreenSize ( ) . ) ;
skärm = robot.createScreenCapture ( storlek ) ;
int [ ] rgbData = new int [ ( 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 ut = ny ObjectOutputStream ( baseOut ) ;
ImageIO.write ( skärm , " png " , new File ( " orig_screen.png " ) ) ;
out.writeObject ( storlek ) ,
for (int x = 0 , x < rgbData.length , x + + ) din kod .
3
Öppna ett nytt dokument i din texteditor , och kalla den " ScreenClient.java . " Detta är det program som ska köras lokalt . Den ansluts enkelt till fjärrdatorn på den angivna adressen och sparar pixel som den erhåller på hårddisken i PNG -format
4
Klistra in följande kod , och spara ditt arbete : .
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 ) kastar Undantag {
server
Socket = new Socket ( args [ 0 ] , 5494 ) ;
ObjectInputStream i = new ObjectInputStream ( server.getInputStream ( ) ) ;
Rectangle storlek = ( Rectangle ) in.readObject ( ) ;
int [ ] rgbData = new int [ ( int ) ( size.getWidth ( ) * size.getHeight ( ) ) ] ;
for (int x = 0 , x < rgbData.length , x + +) {
rgbData [x] = in.readInt ();
}
in.close ();
server.close ( ) ;
BufferedImage skärm = ny 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 ( skärm , " png " , nya File ( " screen.png " ) ) ;
}
}