2009-03-10 37 views
5

私は、クリックしたときにユーザーのPCのスクリーンショットを取得してサーバーに送信するボタンを持つASP.Netページを持っています。ASP.Netページからスクリーンショットを取得

これらの画像を受信する要求を受け入れるために、サーバー上で動作する何らかのリスナープログラムを作成しても構いません。私が少しぼんやりしているのは、ユーザーのPCにスクリーンショットを送信させる最良の方法です。これは、ASP.Netページ用のActive Xコントロールを作成することによって行う必要がありますか?可能であれば、クロスブラウザーとオペレーティングシステムである必要があります。

正しい方向にちょうどいい点があり、私が使用すべき技術はすばらしいでしょう。私は、この機能を将来的に拡張することができることを理解することができるので、可能であれば、この機能を自分で作成したいと思います。 WebExや副操縦士のように何がこれを管理していますか?

おかげ

ギャビン

編集:ただ、私は、ユーザーのPCから情報を盗むしようとしていないよそれを明確にするために、彼らは、この機能を許可しなければならない、ビューの支持点からその以上だから問題を抱えているクライアントは、彼らがいるページのスクリーンショットを送ることができます。

答えて

4

ブラウザをクロスする必要がある場合は、Java(アプレット)を参照する必要があります。それは古いファッションに聞こえるかもしれませんが、私はそれがあなたの最善の選択だと思います。 Is there a way to take a screenshot using Java and save it to some sort of image?

+0

私はJavaでそれを書いた場合、私はまだサーバー上で実行されているC#のプログラムへのTCP接続をオープンして、そのように画像を送ることができると思いますか? – Gavin

+0

バイナリパックをサーバーに投稿してみませんか? –

+0

それは可能であることは分かっていませんでしたが、それが理想的な解決策のように聞こえます。 – Gavin

3

のActiveXが動作します:; ActiveXはWindows上で動作します/ IEのみ)

手始めに、非常に似ている、この質問、見てみましょう。 Silverlight、Flash、またはJavaアプレットでも何かできることがあると思われます。

コパイロットは、各ユーザーがダウンロードして実行するスタンドアロンの実行可能ファイルで実行されています。したがって、典型的なブラウザーの制限に限定されません。

1

あなたはスナップショットを望むだけのWebページですか?そして、あなたはjavascriptのドキュメントオブジェクトからHTMLをレンダリングし、全ページにアクセスすると、ブラウザの種類と一緒に、Webサービスに送信することができますなどはありませんActiveXのは

私はウェブサイトのスクリーンショットをキャプチャするWebsitesScreenshotコンポーネントを使用
+0

レンダリングされたWebページは、スクリーンショットと同じではありません。 –

1

:-)必要なインストール

またはサムネイル画像である。 この.NETコンポーネントは非常に使いやすいです。私はこのコンポーネントが大好きです。 http://www.websitesscreenshot.com/

サンプルコード:

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

このツールの費用は$$です。 – Justin

関連する問題