2

私は対処するためにやや奇妙なケースを持っています...

  • Windows サービス " A " があります。
  • 「A」は「B」のイベントを監視します。「B」は、「A」が停止した場合に「A」を再起動するアプリケーションです。
  • ユーザーが Windows のサービス アプリから手動で "A" をシャットダウンした場合、またはネット ストップを使用してコマンド プロンプトから "A" を再起動しないでください。基本的に、非アプリケーション (つまり人間) がそれを停止するたびに、「A」を再起動したくありません。

「B」の簡単な例を次に示します。

ServiceController controller = new ServiceController(someServiceName);
while (true)
{
    controller.WaitForStatus(ServiceControllerStatus.Running);
    controller.WaitForStatus(ServiceControllerStatus.Stopped);
    controller.Start();
}

ユーザーは、別のアプリケーションと同じ方法でサービスのステータスを停止させるため、特定の Windows サービスを実際に停止したユーザーを検出する方法はありますか? 実際の人がその特定のサービスを停止したかどうかを検出する方法はありますか?

4

0 に答える 0