Der er en enkel Java-program , som du kan bruge til at sende en aktuel skærmbillede over internettet. Du kan finde dette program nyttigt, hvis du har brug for at administrere flere computere , hvis du ejer en virksomhed og ønsker at overvåge computer brug af dine medarbejdere , eller hvis du ønsker at overvåge computer brug af dine børn. Det indebærer oprettelsen af to Java-klasser : ScreenServer.java og ScreenClient.java . Men sørg for at tjekke advarslen nederst på siden , før du sætter programmet i brug. Instruktioner
1
Åbn din foretrukne teksteditor , og straks gemme tomt dokument som " ScreenServer.java ". Dette er den del af programmet, der skal køre på det eksterne system . Det vil lytte efter en forbindelse på en vilkårlig port og sende skærmen dimensioner og data over denne port. Dette eksempel bruger " 5494 " som havnen, men enhver portnummer vil gøre , forudsat at det ikke i konflikt med en anden tjeneste , der kører på computeren. Naturligvis, vil du nødt til at have direkte adgang til fjerncomputeren på et tidspunkt for at sætte dette program på det og begynde det kører
2
Indsæt følgende kode i " ScreenServer " : . < br >
import java.net * ; .
import java.awt * ; .
import java.awt.image * ; .
import java.io . * ;
import javax.imageio.ImageIO ,
public class ScreenServer {
public static void vigtigste ( String [] args ) kaster Undtagelse {
< p > robot robot = new robot ();
BufferedImage skærmen,
while ( true) {
ServerSocket server = new ServerSocket ( 5494 ) ;
Socket klient = server.accept ();
rektangel size = nyt rektangel ( Toolkit.getDefaultToolkit () getScreenSize (). ),
screen = robot.createScreenCapture (størrelse ) ;
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 ud = new ObjectOutputStream ( baseOut )
ImageIO.write (skærm , " png " , new File ( " orig_screen.png "));
out.writeObject (størrelse ),
< p > for (int x = 0; x < rgbData.length , x + +) din kode .
3
Åbn et nyt dokument i din tekst editor, og navngive den " ScreenClient.java ". Det er det program , der vil køre lokalt. Det er simpelthen forbinder til fjerncomputeren på den angivne adresse og gemmer pixel , den modtager til harddisken i PNG-format
4
Indsæt følgende kode , og gemme dit arbejde : .
< 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 ) kaster Undtagelse {
Socket server = new Socket ( args [0] , 5494 ),
ObjectInputStream i = new ObjectInputStream ( server.getInputStream ());
rektangel size = ( rektangel ) in.readObject (); < br >
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 = 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 (skærm , " png " , nye File ( " screen.png "));
}
}