問題タブ [screenshot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - どのWindows(C ++)スクリーンキャプチャライブラリが私の要件に適合しますか?
アプリケーションのスクリーンキャプチャ機能をアウトソーシングする準備ができています。これは、コアビジネスではなく、コードに必要なすべてのことを実行させるために多くの時間を費やしてきたためです。スペシャリストの時間だと思います。重要度の高いものから順に、私の要件を以下に示します。これらの要件のほとんどまたはすべてを満たす商用または無料のライブラリの経験がある人はいますか?
WindowsXP以降で動作する必要があります。(ただし、Win95 / 98 / Meではありません。)
Visual C ++ 2005と互換性があり、スクリーンショットは私のコードからトリガーできます。静的ライブラリが望ましいですが、DLLまたはCOMオブジェクトで問題ありません。アプリケーションを改ざんしようとするユーザーがいるため、スタンドアロンのEXEを使用しない方がいいと思います。また、明確な別のスクリーンショットEXEを使用すると、簡単すぎると思います。
複数のモニターシステムの完全なスクリーンショットを撮ることができる必要があります。(できれば、Windowsでの「PrintScreen」キーのように、ディスプレイのビットマップをつなぎ合わせて作成しますが、写真を別々に撮影して自分で組み合わせる必要がある場合は、それで問題ありません。)
リモートデスクトップクライアント(または任意のRDPクライアントまたはVM)がフルスクリーンモードの場合、画面を正しくキャプチャできる必要があります。(もちろん、RDPがウィンドウモードの場合にも機能するはずですが、ローカルで処理されるのではなく、リモートOSに送信される可能性のあるキー押下をシミュレートして動作しない限り、問題にはなりません。 )。
Windows Media Player(またはその他のメディアプレーヤー)がフルスクリーンモードのときに、画面を正しくキャプチャできる必要があります。
ゲーム(World of Warcraftなど)がフルスクリーンモードの場合、画面を正しくキャプチャできる必要があります。
数秒のユーザーアクティビティをビデオとしてキャプチャできると便利です。
c# - NativeMethods なしで hWnd を指定して、ウィンドウの位置/場所を見つけるにはどうすればよいですか?
私は現在、WatiN を使用していますが、これが優れた Web ブラウジング自動化ツールであることがわかりました。ただし、前回のリリースの時点では、スクリーン キャプチャ機能が不足しているようです。Charles Petzold によるいくつかのコードに加えて、画面からスクリーンショットをキャプチャするための実行可能なソリューション (この StackOverflow questionに似たコードを個別に生成する) を思いつきました。残念ながら、欠落しているコンポーネントがあります:実際のウィンドウはどこにありますか?
WatiN は便利にブラウザーを提供するhWnd
ので、(この簡略化された例で) 画面から画像をコピーするように設定できます。次のようにします。
成功!スクリーンショットを取得しますが、問題があります。コピー元のウィンドウの場所ではなくhWndX
、hWndY
常に画面の左上隅をポイントします。
次に を調べましたがControl.FromHandle
、これは作成したフォームでのみ機能するようです。このメソッドに を渡すと、このメソッドは null ポインターを返しますhWnd
。
次に、さらに読んで、検索条件を変更することにしました...ほとんどの人がウィンドウの「位置」を本当に必要としているときに、「ウィンドウの場所」を検索していました。これは、これについて話している別のSOの質問につながりましたが、彼らの答えはネイティブメソッドを使用することでした.
では、ウィンドウの位置を見つけるためのネイティブ C# の方法はありますか?
c# - ゲーム中にVistaおよびWin7でスクリーンショットが空白になる
別の人もこれについて助けを求めていることに気付きました。その投稿を読みましたが、まだ解決されていないようです。また、自分のコードから「2回のクリックでスクリーンショット」投稿のコードに変更しようとしましたが、コードにそれを実装すると、何らかの理由で他のすべてのコードが台無しになりました。
現時点では、スクリーン ショットは Win XP で完全に表示されます。ただし、Vista と Win7 では、ゲームがウィンドウ モードでプレイされない限り、空白で表示されます。これは私たちのプログラムを完成させるための最後のステップであり、この問題を解決しないと終了できないため、誰かが私たちを助けてくれることを願っています.
スクリーン ショットに使用している C# コードは以下のとおりです。
c# - Windows サービスでのプロセスのスクリーンショット
Windows サービスからプロセスを実行し、スクリーンショットを取得する必要があります。
BitBlt と PrintWindow の Win32 呼び出しを試しましたが、どちらも空白 (黒) のビットマップを返します。
通常のユーザー プロセスからコードを実行すると、問題なく動作します。
これは可能なことですか?または、別の方法を試すことができますか?
私たちが試したこと:
- ローカル システムとして実行されている Windows サービス、ローカル システムとしてプロセスを実行 -> スクリーンショットが失敗する
- 管理者として実行されている Windows サービスは、管理者としてプロセスを実行します -> スクリーンショットが失敗します。
- ユーザー XYZ として実行されている Windows アプリケーションは、XYZ としてプロセスを実行します -> スクリーンショットは BitBlt または PrintWindow の両方で動作します。
- ローカルシステムから「サービスがデスクトップと対話することを許可する」にチェックを入れてみました
ウィンドウが別のウィンドウの背後にある場合に、PrintWindow がうまく機能することにも気付きました。
その他の要件については、親プロセスと子プロセスの両方が同じユーザーの下にある必要があります。あるプロセスから別のプロセスへの偽装を実際に使用することはできません。
javascript - Flash または JavaScript を使用したブラウザからのスナップショット
HPA を使用してブラウザーのスクリーンショットを撮ることを提案するスレッドをここで見ましたが、助けてもらえないかと思っていました。Web ページの一部を選択して画像としてレンダリングできるようにしたいと考えています。flex が独自のキャンバスの画像を取得できることは知っていますが、ページの残りの部分の画像を取得することは可能ですか?
フラッシュと JavaScript だけで、プラグインなしで実行できるようにしたいと考えています。魔法をお願いしているかもしれませんので、よろしくお願いします。
selenium - ユーザーがログインしていない場合、スケジュールされたタスク中にスクリーンショットを撮る方法はありますか?
毎晩午前 3 時 30 分に一連の Selenium テストを実行するスケジュールされたタスクがあります。これらのテストでも、失敗した場合はスクリーンショットが作成され、そのスクリーンショットが開発チームにメールで送信されます。ただし、問題は、テストを実行する仮想マシン (Windows Server 2003) にログインしている場合にのみスクリーンショットが機能することです。誰もログインしていない場合、スクリーンショットは黒です。
これを修正する簡単な方法はありますか?
ありがとう!
-マーク
java - ウェブサイトのフルスクリーンスクリーンショットを撮るにはどうすればよいですか
URLでウェブサイトのフルスクリーンショットを取得する必要があります。そのためのPHPプログラムやサービスはありますか?そうでない場合は、その目的のJavaプログラムはありますか?
java - JavaでWebページのスクリーンショットを撮る
特定のWebページを読み取ってスクリーンショットを撮ることができる無料のツールはありますか?
winapi - Windows Vista および 7 の半透明スクリーンショットを作成するための Windows API
Windows Vista および Windows 7 では、Aero が有効になっているときに半透明のフォームが表示されます。また、WinSnap やWindows Clippingsなどの一部の画面取得アプリケーションは、これらのウィンドウを半透明の PNG 画像としてキャプチャできます。このような美しいキャプチャを取得するために、彼らはどの Windows API を使用していますか?