6

ユーザーがワークステーションを起動したときに常に実行されているWindowsサービスがあります。このWindowsサービスは重要であり、サービスの停止、開始、再起動などの特定のことが発生したときに、通知領域にバルーン通知を表示したいと思います。

例えば:
ここに画像の説明を入力してください

また、Windowsサービスの通知領域アイコンを表示する方法はありますか?

4

3 に答える 3

12

Windowsサービスがデスクトップと直接対話する時代は終わったので、別の方法を見つける必要があります。

私が行ったことは、NotifyIconを含む通常のWinFormsアプリケーションを作成することです。このアプリケーションの動作はタスクマネージャーの動作を模倣しているため、タスクバーから非表示にして、システムトレイにのみ表示できます。システムトレイアイコンを右クリックすると、メニューが表示されます。アイコンをダブルクリックすると、アプリケーションウィンドウが表示されます。

WinFormsアプリケーションとWindowsサービス間の通信を容易にするために、私はWCFを使用します。具体的には、JuvalLowyPublish-SubscribeFrameworkを使用します。これは、この種のシナリオに非常に適しています。詳細については、ここで私の答えを参照してください。

お役に立てれば。

于 2011-06-01T17:07:26.767 に答える
-1

単純なコマンドをWindowsサービスに送信するだけの場合は、次の方法でユーザーアプリからメッセージを送信できます。

ServiceController myService = new ServiceController("YOUR Service Name");
myService.ExecuteCommand(123); // do something;

クラスのOnCustomCommandメソッドをオーバーライドすると、extendsServiceBaseがクラス分けされます。次に、このコマンドを使用して、サービスをトリガーし、構成ファイルをリロードしたり、ある状態に切り替えたりすることができます。

于 2011-07-18T14:52:04.457 に答える
-1

新しい(無料の)ServiceTrayユーティリティを使用すると、トレイアイコンからサービスを制御できます。また、サービスの状態が変化した(開始->停止など)ことを検出すると、ポップアップ/バルーン通知が表示されます。

于 2013-03-29T15:43:19.800 に答える