0

この主題は、私がずる賢いことをしようとしているように聞こえるかもしれませんが、そうではありません。数百の電話オペレーターが使用する内部 Web サイトを管理しており、次の機能を追加したいと考えています。

すべての Web ページのヘッダーにコントロールを追加して、デスクトップ全体の画像をキャプチャし、その画像をファイルとして共有ネットワーク ドライブに保存して、生産上の問題のトラブルシューティングを支援したいと考えています。このスクリーン キャプチャ アプリは、JavaScript によって呼び出されます。

このサイトでスクリーンショットのキャプチャに関する多くのスレッドを調査しましたが、提供されているすべてのアプリケーションが次の 2 つの理由のいずれかで私のニーズを満たしていません。

  1. スクリーン キャプチャ アプリケーションには、ポップアップする GUI があり、ユーザーはある種のキャプチャ コントロールのサイズを変更するか、ウィンドウと対話してキャプチャを実行します。ユーザーはコンピューターにあまり詳しくなく、「ポップアップ」アプリケーションを正しく使用することを信頼できませんでした。また、一般的なファイル命名規則で画像ファイルを保存するよう強制することは不可能です。ユーザーが Web サイトで 1 つの UI コントロールを押して、JavaScript が呼び出しを行い、スクリーン ショットを取得して、それ以上のユーザー操作なしで画像を保存するようにしたいと考えています。

  2. 一部の自動アプリケーションは、サイトに再投稿して HTML を保存し、個々の HTML 要素を画像に「再構築」します。これは、オペレーターが入力した入力データが画像に含まれている必要があるため機能しません。サイトは AJAX を使用しているため、Web ページの視覚的な「状態」は、POST から再取得したものとは異なります。また、アプリケーションによっては、当社の (保護された) Web サイトと対話しようとしたときに、(Active Directory) セキュリティの問題が発生しました。

このニーズを満たすアプリケーションがない場合は、C# で独自のコントロールを展開します。しかし、私はむしろサードパーティのコントロールを取得したいと思います. だから私は一生自分のコントロールをサポートする必要はありません。:-)

4

5 に答える 5

0

一度やった。直接的な方法が見つからなかったので、HTML をキャンバスにレンダリングしてから、html2canvas を使用してキャンバスをイメージにレンダリングしました。Canvas to image はより一般的なテーマであるため、多くのチュートリアルを見つけることができます。

HTML からキャンバス

キャンバスから画像へ

注: HTML からキャンバスへのレンダリングでは、SVG などの一部の要素が残る場合があります。しかし、全体としては、期待どおりに機能しました。

于 2014-08-26T19:11:49.833 に答える
0

Javascript は、セキュリティ リスクのため、この機能のためにローカル システムへのアクセスを提供しません。

Web ページでこれを行う唯一の方法は、おそらくアクティブな X コントロールまたは Java アプレット ( screencast-o-maticと同様) を介することだと思いますが、それでもセキュリティが問題になる可能性があります。

また、Web サイトの一部である c# コントロールはクライアントではなくサーバーで実行されるため、独自の c# コントロールが Windows フォーム アプリケーションにない限り、機能しません。

これが役立つことを願っています。

于 2008-12-31T18:25:45.107 に答える
0

そのためには、javascript だけでは実行できないデスクトップとやり取りするための何かが必要です。

クライアントのマシンと対話できるようにするには、Active X オブジェクトが必要です。それができたら、オブジェクトに写真を撮らせてディレクトリに保存するのは簡単です。

スクリーンショットを撮るための C# コードがあると思います。欲しければ載せます。

于 2008-12-31T18:26:47.147 に答える
0

ActiveX / Java の代替手段:

  • スクリーン キャプチャを実行するためのフラッシュ プログラムを作成できます。私はこれを行ったことがなく、詳細はわかりませんが、できると確信しています。

  • スクリーン キャプチャ用のカスタム プロトコル(例: screencapture:// ) をセットアップし、ヘッダーに

    <a href="screencapture://this/">スクリーン キャプチャ</a>

リンク。実際のキャプチャを行い、そのカスタム プロトコルのハンドラとして設定するには、GUI を使用しないスクリーン キャプチャ プログラムを見つける必要があります。

于 2008-12-31T23:23:06.533 に答える
0

PSR (プロブレム ステップ レコーダー) は、クライアント マシンでのデバッグを目的とした優れたツールであり、既定ですべての Windows マシンで使用できます。

以下を試して、うまくいくかどうかを確認してください。

[スタート] -> [ファイル名を指定して実行] に移動し、psr.exe (または単に psr) と入力すると、レコーダーが開きます。これはかなり使いやすいので、ユーザー/クライアントでも使用できます。動作する場合は、以下の手順を試してセットアップしてください。

ステップ 1 : PSR プロトコルを登録します。これは、ページ上のリンクが PSR プロトコル (このレコーダーを開くために使用するプロトコル) を参照している場合にブラウザーに何をすべきかを伝えます。- 以下のようにレジストリ値を作成します

HKEY_CLASSES_ROOT/
  PSR/
    (Default)    "URL:PSR Protocol"
    URL Protocol ""
    shell/
      open/
        command/
          (Default) psr.exe

レジストリ値の作成に慣れていない場合は、このファイルをダウンロードしてダブルクリックしてください。

ステップ 2 : PSR の起動をテストするためのサンプル html ファイルを作成します。以下のコードを index.html ファイルに保存して開きます。

<html>
   <head>
      <head>
   </head>
   <body>
      <a href="psr:start">Start Recording</a>
   </body>
   </head>
</html>

または、このファイルをダウンロードして開きます。

これにより、PSR が開きます。使いやすく、デバッグに必要なすべての情報を記録できます。

于 2015-05-07T14:41:10.300 に答える