Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako zachytiť screenshot zo vzdialeného systému pomocou Java

Je to jednoduché Java aplikácie , ktorú možno použiť na odoslanie aktuálnej screenshot cez internet . Môžete nájsť tento program užitočný , ak potrebujete spravovať viac počítačov , ak vlastníte firmu a chcete monitorovať používanie počítača vašich zamestnancov , alebo ak chcete sledovať používanie počítača svojich detí . Jedná sa o vytvorenie dvoch tried Java : ScreenServer.java a ScreenClient.java . Avšak , uistite sa varovanie v dolnej časti stránky pred uvedením aplikácie do prevádzky . Pokyny dovolená 1

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 " ) ) ;

}

}

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené