Wie erstelle ich einen Screenshot in .NET von einer Webanwendung?

8

In Java können wir das folgendermaßen machen:

%Vor%

Wie machen wir das in .NET aus einer Webapplikation? Erfassen Sie den Bildschirm des Clients und senden Sie ihn aus der Anwendung heraus an den Server.

    
Srikar Doddi 26.05.2010, 19:33
quelle

4 Antworten

6

Das .NET-Grafikobjekt hat eine Methode namens CopyFromScreen (), die einen rechteckigen Bereich des Bildschirms erfasst und in eine Bitmap kopiert. Der beste Weg, es zu tun, ist ähnlich dem Folgenden:

%Vor%     
Icemanind 26.05.2010, 19:41
quelle
4

Nein, es gibt keine Möglichkeit, dies mit HTML oder Javascript allein zu tun. Sie haben einfach nicht die Methoden dafür. Ein möglicher Grund wäre, dass es ein Sicherheitsrisiko darstellt, wie John Saunders betont. Webapplikationen können alles erfassen, was auf dem Benutzerbildschirm passiert, ohne dass sie davon wissen.

Der serverseitige Code, wie Sie ihn angezeigt haben, funktioniert nicht, da er auf der Serverseite ausgeführt wird. Sliverlight oder ein ActiveX-Formular funktioniert möglicherweise, aber keine Option, da Sie möchten, dass es in allen Browsern auf allen Plattformen funktioniert.

Bearbeiten

icemanind lässt uns wissen es ist möglich mit Silverlight , aber Sie können nicht den gesamten Bildschirm erfassen. Wahrscheinlich Sicherheitsgründe.

    
Lars Truijens 26.05.2010 20:09
quelle
1
Paya 26.05.2010 19:36
quelle
1

Dies ist weder mit einer grundlegenden Webanwendung noch mit Silverlight möglich.

Ich vermute auch sehr, dass die Robot-Klasse in Java nicht erlaubt, einen Screenshot zu machen, wenn sie als Browser-Applet ausgeführt wird, sonst wäre das eines der größten Sicherheitslücken, die jemals in Java gefunden wurden, wenn eine grundlegende Webanwendung mit pixelgroße Java Applet könnte ein Live-Video meines Desktops über das Internet zurück auf den Server streamen.

Nehmen wir einen Schritt zurück und fragen Sie: Was wollen Sie erreichen? Warum willst du den Screenshot machen?

    
quelle

Tags und Links