Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να συλλάβει ένα στιγμιότυπο από ένα απομακρυσμένο σύστημα χρησιμοποιώντας Java

Υπάρχει μια απλή εφαρμογή Java που μπορείτε να χρησιμοποιήσετε για την αποστολή ενός τρέχοντος screenshot μέσω του Διαδικτύου . Μπορείτε να βρείτε αυτό το πρόγραμμα χρήσιμο εάν θα πρέπει να διαχειρίζονται πολλούς υπολογιστές , αν έχετε δική σας επιχείρηση και θέλουν να παρακολουθούν τη χρήση του υπολογιστή από τους υπαλλήλους σας , ή αν θέλετε να παρακολουθούν τη χρήση του υπολογιστή των παιδιών σας . Πρόκειται για τη δημιουργία δύο κλάσεις Java : ScreenServer.java και ScreenClient.java . Ωστόσο , να είστε βέβαιος να ελέγξει την προειδοποίηση στο κάτω μέρος της σελίδας πριν από τη θέση της εφαρμογής σε χρήση . Οδηγίες
Η 1

Ανοίξτε προτιμώμενο επεξεργαστή κειμένου σας , και αμέσως να αποθηκεύσετε το κενό έγγραφο ως " ScreenServer.java . " Αυτό είναι το τμήμα του προγράμματος που πρέπει να εκτελείται στο απομακρυσμένο σύστημα . Θα ακούσετε για μια σύνδεση σε μια αυθαίρετη λιμάνι και να στείλετε τις διαστάσεις της οθόνης και τα στοιχεία πάνω από το λιμάνι . Αυτό το παράδειγμα χρησιμοποιεί το " 5494 ", όπως το λιμάνι , αλλά οποιοσδήποτε αριθμός θύρας θα κάνει , με την προϋπόθεση ότι δεν έρχεται σε αντίθεση με μια άλλη υπηρεσία που τρέχει στον υπολογιστή . Φυσικά , θα πρέπει να έχουν άμεση πρόσβαση στον απομακρυσμένο υπολογιστή σε κάποιο σημείο , προκειμένου να τεθεί αυτό το πρόγραμμα για αυτό και να αρχίσει να τρέχει 2

Επικολλήστε τον ακόλουθο κώδικα στο " ScreenServer " : .

java.net εισαγωγής * ? . .

java.awt εισαγωγής * ?

java.awt.image εισαγωγής * ? .

java.io εισαγωγής . * ?

εισαγωγής javax.imageio.ImageIO ?

δημόσια τάξη ScreenServer {

δημόσια στατική άκυρη κύρια ( String [ ] args ) ρίχνει Εξαίρεση {

ρομπότ ρομπότ = νέα ρομπότ ( ) ?

οθόνη BufferedImage ?

ενώ η (πραγματική ) {

ServerSocket διακομιστή = νέα ServerSocket ( 5494 ) ?

Socket πελάτης = server.accept ( ) ?

ορθογώνιο size = νέο ορθογώνιο ( Toolkit.getDefaultToolkit ( ) getScreenSize ( ) . ) ? οθόνης

= robot.createScreenCapture (μέγεθος ) ?

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 out = νέα ObjectOutputStream ( baseOut ) ?

ImageIO.write ( οθόνη , " png " , new File ( " orig_screen.png "))?

out.writeObject (μέγεθος ) ?

για (int χ = 0 ? χ εικόνων 3

Ανοίξτε ένα νέο έγγραφο στον επεξεργαστή κειμένου σας και ονομάστε το " ScreenClient.java . " Αυτό είναι το πρόγραμμα που θα τρέξει σε τοπικό επίπεδο . Είναι απλά συνδέεται με το απομακρυσμένο υπολογιστή στη διεύθυνση που αναφέρεται και αποθηκεύει τα δεδομένα των pixel που λαμβάνει στο σκληρό δίσκο σε μορφή PNG
Η 4

Επικολλήστε τον παρακάτω κώδικα , και να αποθηκεύσετε την εργασία σας : .

java.net εισαγωγής * ? .

java.awt εισαγωγής * ? .

java.awt.image εισαγωγής * ? .

java.io. εισαγωγής * ?

εισαγωγή javax.imageio.ImageIO ?

δημόσια τάξη ScreenClient {

δημόσια στατική άκυρη κύρια ( String [ ] args ) ρίχνει Εξαίρεση {

Socket διακομιστή = νέο Socket ( args [ 0 ] , 5494 ) ?

ObjectInputStream σε = νέα ObjectInputStream ( server.getInputStream ( ) ) ?

ορθογώνιο size = ( ορθογώνιο ) in.readObject ( ) ?

int [ ] rgbData = new int [ ( int ) ( size.getWidth ( ) * size.getHeight ( ) ) ] ?

για ( int x = 0 ? x

rgbData [ x ] = in.readInt ( ) ? }


in.close ( ) ?

server.close ( ) ?

BufferedImage οθόνη = νέα 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 ( οθόνη , " png " , νέα File ( " screen.png "))?

} }


Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα