2009-03-10 16 views
5

Mam stronę ASP.Net, która ma przycisk, który po kliknięciu chciałbym zrobić zrzut ekranu komputera użytkownika i wysłać go na serwer.Pobierz zrzut ekranu ze strony ASP.Net

Nie ma problemu z napisaniem programu słuchającego do uruchomienia na serwerze w celu zaakceptowania żądań otrzymania tych obrazów. Gdzie jestem trochę zamroczony, to najlepszy sposób, aby komputer użytkownika wysłał zrzut ekranu. Czy trzeba to zrobić, pisząc jakiś formant Active X dla strony ASP.Net? W miarę możliwości musi to być przeglądarka i system operacyjny.

Tylko punkt we właściwym kierunku i jakie technologie powinienem zastosować, byłoby świetnie. Wolę pisać tę funkcjonalność, jeśli to możliwe, niż korzystać z gotowego rozwiązania, ponieważ widzę, że ta funkcjonalność może zostać rozszerzona w przyszłości. W jaki sposób zarządza to coś takiego jak WebEx lub copilot?

Dzięki

Gavin

Edit: Właśnie aby było jasne, nie próbuję wykraść informacje z użytkownikami PC, musieliby aby umożliwić tę funkcję, jego bardziej z punktu widzenia wsparcia więc gdy klienci mają problemy, mogą wysłać zrzut ekranu strony, na której się znajdują.

Odpowiedz

4

Jeśli ma być to przeglądarka internetowa i wszystkie, należy spojrzeć na Javę (aplety). To może brzmieć staromodne, ale myślę, że to najlepsza opcja. ActiveX działa na okien/IE tylko;)

Na początek przyjrzeć się tej kwestii, która jest bardzo podobna: Is there a way to take a screenshot using Java and save it to some sort of image?

+0

Gdybym pisał go w Javie, myślę, że nadal może otworzyć połączenie TCP do C# program uruchomiony na serwerze i wysłać go obrazu, który sposób? – Gavin

+0

Dlaczego po prostu nie wysłać pakietu binarnego na serwer? –

+0

Nie wiedziałem, że to możliwe, ale jeśli tak, to brzmi jak idealne rozwiązanie. – Gavin

3

ActiveX będzie działać. Podejrzewam, że możesz też coś zrobić w aplecie Silverlight, Flash lub Java (co byłoby bardziej przyjazne dla różnych przeglądarek).

Co do drugiego pilota, działa w autonomicznym pliku wykonywalnym, który każdy użytkownik pobiera i uruchamia. Więc nie ogranicza się to do typowych ograniczeń przeglądarki.

1

To tylko strona internetowa, z której chcesz zrobić zdjęcie?

Następnie można uzyskać dostęp do całych stron renderowane html z javascript obiektu dokumentu i wysłać go do serwisu WWW oraz typ przeglądarki itp Nie ActiveX zainstalować wymaganych :-)

+0

Strona internetowa renderowana HTML to nie to samo, co zrzut ekranu. –

1

używam komponentu WebsitesScreenshot przechwycić zrzut ekranu strony internetowej lub obraz miniatury. Ten składnik .NET jest bardzo łatwy w użyciu. Uwielbiam ten komponent. http://www.websitesscreenshot.com/

Przykładowy kod:

WebsitesScreenshot.WebsitesScreenshot _Obj; 
_Obj = new WebsitesScreenshot.WebsitesScreenshot(); 

WebsitesScreenshot.WebsitesScreenshot.Result _Result; 
_Result = _Obj.CaptureWebpage("http://www.msn.com"); 

if (_Result == WebsitesScreenshot.WebsitesScreenshot.Result.Captured) 
{ 
    _Obj.ImageWidth = 200; 
    _Obj.ImageHeight = 300; 
    _Obj.ImageFormat = WebsitesScreenshot.WebsitesScreenshot.ImageFormats.PNG; 
    _Obj.SaveImage("c:\\msn.png"); 
} 
_Obj.Dispose(); 
+0

To narzędzie kosztuje $$. – Justin