PC が起動すると常に Windows サービスが実行されています。ユーザーまたは他のアプリケーション/プロセスが Windows でシャットダウンまたは再起動を要求したときに、.NET 3.5 または WMI を使用して検出するにはどうすればよいですか。
私はそれを止めたくありません。時間と誰がシャットダウンを開始したかを記録するだけです(ユーザーまたはプロセスは問題ありません。実際にどのプロセスを知る必要はありません)
ありがとうございました
PC が起動すると常に Windows サービスが実行されています。ユーザーまたは他のアプリケーション/プロセスが Windows でシャットダウンまたは再起動を要求したときに、.NET 3.5 または WMI を使用して検出するにはどうすればよいですか。
私はそれを止めたくありません。時間と誰がシャットダウンを開始したかを記録するだけです(ユーザーまたはプロセスは問題ありません。実際にどのプロセスを知る必要はありません)
ありがとうございました
Microsoft.Win32.SystemEvents.SessionEndingイベントを使用します。
ただし、Windows サービスにいることに注意してください。サービスで非表示のフォームを作成しない限り、このイベントは発生しません。サービスで「Interact with Desktop」オプションを有効にすると、これらのいずれかを無料で入手できます。
SystemEvents.SessionEndingイベントを探しています。
ユーザーがシステムをログオフまたはシャットダウンしようとしたときに発生します。
Win32.SessionEnded イベントは、システムのシャットダウン時に発生します。プログラムでこれにアタッチする必要があります。