5

特定の間隔でダイアログ ウィンドウをポップアップする Windows サービス アプリケーションを C# で作成しました。Visual studio でのデバッグ中は、うまく機能しています。次に、インストール設定を作成しました。しかし、サービスをインストールした後、ダイアログウィンドウをポップアップするためにサービスが起動しません。何が原因で、どうすれば修正できますか?

4

2 に答える 2

3

サービスは、対話型デスクトップから分離されたセッション 0 で実行されます。サービスから UI を表示することはできません。別のデスクトップ プロセスを実行して UI を表示し、IPC を使用してサービスとデスクトップ プロセス間の通信を行う必要があります。

ダイアログが十分に単純であれば、おそらくWTSSendMessageを使用できます。

定期的にコードを実行したい場合は、サービスよりもスケジュールされたタスクを使用したほうがよい場合があります。

于 2013-04-29T07:02:58.417 に答える
1

サービスはどのようにインストールされていますか? 使用しているウィンドウのバージョンは何ですか?

vista/7 の場合、インタラクティブ サービスの検出は表示されますか?

肝心なのは、ユーザーとの対話用に設計されていない Windows サービスです。

ただし、方法はありますが、ユーザーと対話する別の方法を使用することをお勧めします

デスクトップと対話するように Windows サービスを設定すると、セキュリティ上の問題が発生する可能性があります。

このリンクを投稿しました

http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/1c3d4b96-c58b-465a-a964-89926bd455f1/

于 2013-04-29T07:06:12.900 に答える