さまざまな Web ページのスクリーンショットを定期的にキャプチャする .NET アプリケーションを作成する必要があります。アプリケーションは、無人モードで Windows サービスとして実行する必要があります (ユーザー セッションがない場合、またはワークステーションがロックされている場合)。次のような状況: ( Windows サービスでのプロセスのスクリーンショット)、プロセスではなく Web ページでこれを行う必要があります。
PrintWindow API を使用しようとすると、非アクティブまたは非表示のウィンドウをキャプチャできますが、ワークステーションがロックされていると黒い画像が表示されます。このアプローチ (www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic34231.aspx) を試しましたが、うまくいきません。
WebShot (www.websitescreenshots.com) のようなアプリがあり、ワークステーションがロックされている場合やサービスとして実行されている場合でも、Web ページのスクリーンショットをキャプチャできるため、これが可能であることはわかっています。
私は何が欠けていますか?これを機能させるにはどうすればよいですか?
ありがとうございました。
編集:私のアプローチの詳細 - プログラムで作成された .NET WebBrowser コントロールを使用しています。ブラウザー コントロールに Web ページを読み込み、PrintWindow API を使用してそこから画像をキャプチャします。これは、コントロールが表示されているかどうかに関係なく実行できますが、ワークステーションがロックされているとつまずきます。