Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Otvorte svoj preferovaný textový editor , a okamžite uložiť prázdny dokument ako " ScreenServer.java . " To je časť programu , ktorý musí byť spustený na vzdialenom systéme . To bude čakať na pripojenie na ľubovoľný port , a poslať rozmery obrazovky a dáta cez daný port . Tento príklad používa " 5494 " ako port , ale žiadne číslo portu bude robiť , ak to nie je v rozpore s ďalšie služby bežiace na počítači . Samozrejme , budete musieť mať priamy prístup k vzdialenému počítaču v určitom okamihu , aby sa dal tento program na to a začať ju beží
2
vložte nasledujúci kód do " screensaver " : .
import java.net * ; ..
import java.awt * ;
import java.awt.image * ; .
import java.io . * ;
import javax.imageio.ImageIO ;
public class screensaver {
public static void main ( String [ ] args ) throws Exception {
robot robot = new robot ( ) ;
BufferedImage obrazovky ;
while ( true ) {
ServerSocket server = new ServerSocket ( 5494 ) ;
klient Socket = server.accept ( ) ;
Rectangle size = new Rectangle ( Toolkit.getDefaultToolkit ( ) getScreenSize ( ) . ) ;
obrazovka = robot.createScreenCapture ( veľkosť ) ;
int [ ] rgbData = new int [ ( int ) ( size.getWidth ( ) * size.getHeight ( ) ) ] ;
screen.getRGB ( 0,0 , ( int ) size.getWidth ( ) , ( int ) size.getHeight ( ) , rgbData , 0 , ( int ) size.getWidth ( ) ) , celým
OutputStream baseOut = client.getOutputStream ( ) , celým
ObjectOutputStream out = new ObjectOutputStream ( baseOut ) ;
ImageIO.write ( obrazovka , " png " , new File ( " orig_screen.png " ) ) ;
out.writeObject ( veľkosť ) ;
for ( int x = 0 ; x < rgbData.length , x + + ) váš kód .
3
Otvorte nový dokument v textovom editore , a pomenujte ju " ScreenClient.java . " Ide o program , ktorý bude prebiehať na mieste . To sa jednoducho pripojí k vzdialenému počítaču na adresu uvedenú a ukladá dáta obrazových bodov , ktoré dostane na pevný disk vo formáte PNG
4
vložte nasledujúci kód a uložte svoju prácu : .
import java.net * ; .
import java.awt * ; .
import java.awt.image * ; .
import java.io. * ;
importovať javax.imageio.ImageIO ;
public class ScreenClient {
public static void main ( String [ ] args ) throws Exception {
Socket servera = new Socket ( args [ 0 ] , 5494 ) ;
ObjectInputStream v = new ObjectInputStream ( server.getInputStream ( ) ) ;
Rectangle size = ( 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 obrazovka = 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 ( obrazovka , " png " , nový file ( " screen.png " ) ) ;
}
}