2012-04-10 3 views
4

可能性の重複:
Screenshot of process under Windows ServiceWindowsサービスとして実行したときにプログラムのスクリーンショット自体を取得するにはどうすればよいですか?

私は、多かれ少なかれのInfoPathフォームサービスをエミュレートしようとしています。だから私はモバイルデバイスを介してフォームを承認するか否定することができるようにしたい(ユーザーは電子メールで通知される)。私はフォームを承認/不承認とする能力を持っていますが、問題は、詳細なエラー報告のために私のプログラムのスクリーンショットを撮る能力が必要であることです(承認プロセス中に何か問題が生じた場合) 。ユーザーがログインしていなくてもサーバー上でプログラムを実行する必要があります。問題が発生する場所です。サービスとしてプログラムを実行すると、対話型のウィンドウは表示されませんが、自分のプログラムを持つことができます常に実行します。だから私は、コンピュータが起動したときにプログラムを起動できるようにする必要があり、それ自体をスクリーンショットすることができるようにする必要があります。

Windowsサービスに、起動時にインタラクティブなウィンドウが表示されるようにする方法はありますか?たとえそれが画面に表示されず、ユーザーが見たことがない場合でも、スクリーンショットを作成できるようにウィンドウをエミュレート/インタラクティブウィンドウを実際に必要とせずに

また、私のプログラムは、C#で.NETフレームワークの上に書かれている

事実に加えて
+0

メソッドの動作のスクリーンショット、つまり、私は私の窓をキャプチャする能力を持っているし、それをファイルに保存します。この問題は、ユーザーがログインしていないときにこのプログラムを実行できる必要があるため、ウィンドウを表示できないために発生します。だから私は、独自のGUIにアクセスする能力を持つサービスとして、あるいは自分のプログラムを常に動かすための別の方法としてGUIプログラムを実行する方法を見つける必要があります。 – user1324855

+4

http://stackoverflow.com/questions/1445788/screenshot-of-process-under-windows-service – Gabe

+0

Gabeと同意します。これは重複しています。 –

答えて

0

サービスは、我々は上のInfoPathフォームのレンダリングを実装していませんでしたレンダリングに何のデスクトップ...

を持っていませんサーバは正しく動作しないため、試してみる方法ではありません。あなたはしばらくの間チートすることができますが、サーバー上のヘッドレスサービスモードでOfficeアプリケーションを実行することは、単に悪い考えです。また、ユーザーのIDがプロセスのアイデンティティと一致しない(ACLのデータを照会できない)ため、興味深い問題が発生します。

あなたのオプション:

  • ドロップInfoPathの部分は、あなただけの承認が必要な場合。
  • モバイルフォーム用の既存ソリューションを使用してください。 Forms Servicesにはモバイル・フォームがいくつかサポートされています。動作する場合、モバイル・デバイス専用の非常に単純なビューを持つことができます。 InfoPathフォームのモバイルレンダリング用の既存のソリューションもあります。
  • 正にフォームのレンダリングを実装しています。時にユーザーごとにユーザー1にログオンしてXSNフォーマットは...
  • は、別々のマシン上のInfoPathをレンダリング...文書化されて
関連する問題