2011-11-15 21 views
4

すべてのユーザーのコンピュータで常に実行されるプロセスが必要です。その.exeが強制終了された場合は、再起動してアラートを送信できる必要があります。
私はすぐに理想的なソリューションとして、Windowsサービスを構築すると思ったが、私は問題に直面しています:Windowsプロセスを起動して再起動するためのサービス(GUIを使用)

  • そのサービスによって開始されたプロセスは、例えば、ユーザと対話できるようにする必要があります彼にGUIを示すことができます。
  • 私のアプリケーションでは、the user's typing rhythmsを監視するためのキーボードフックも設定されています。サービスから.exeを起動すると、その情報にアクセスできなくなります。

サービスから「LogonUserおよびCreateProcessAsUser関数を使用して」プロセスを「ユーザーとして」起動できますが、それでもGUIは表示されません。
これは可能ですか?そうでない場合は、目的の機能を達成するために何を使用できますか?デフォルトでは

TIA

+0

Windows 7では、サービスがデスクトップとやりとりすることはもはや不可能だと思います。私はこれに間違っている可能性があります。ありがとう。 –

答えて

3

は、GUIの.exeが、ユーザーのインタラクティブセッションから分離されている、サービスのセッションで実行されます。 interactive serviceを構築するためのテクニックを調べる必要があります。

+0

ありがとう。 「サービスから間接的にユーザーとやり取りする」で説明した解決策は、ダイアログを表示する問題を簡単に解決しますが、残念ながら私のアプリケーションではキーボードのフックを設定して[ユーザーの入力を監視する](http://en.wikipedia .org/wiki/Keystroke_dynamics)、サービスから.exeを起動すると、その情報にアクセスできなくなります。私はこの追加の問題で私の質問を更新しました。 – baderous

関連する問題