teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

少し修正

2020/09/25 07:40

投稿

退会済みユーザー
answer CHANGED
@@ -5,5 +5,4 @@
5
5
 
6
6
  あとはWndProcオーバーライドして、WM_QUERYENDSESSIONやWM_ENDSESSIONをチェックするとかでもいけるかもしれません。(試してはないです)
7
7
 
8
- と書いてから気付いたのですが、質問ケースはシャットダウンではなく電源切断強制終了です
8
+ と書いてから気付いたのですが、実現したい事を読むと電源切断による強制終了なシャットダウンとは別物すね。その場合検出しようがので、無理です。
9
- その場合は検出しようがないので、無理です。

1

少し追記

2020/09/25 07:40

投稿

退会済みユーザー
answer CHANGED
@@ -3,4 +3,7 @@
3
3
  > [SystemEvents.SessionEnding イベント](https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.win32.systemevents.sessionending?view=dotnet-plat-ext-3.1)
4
4
  ユーザーがシステムからログオフしようとした場合、またはシステムをシャットダウンしようとした場合に発生します。
5
5
 
6
- あとはWndProcオーバーライドして、WM_QUERYENDSESSIONやWM_ENDSESSIONをチェックするとかでもいけるかもしれません。(試してはないです)
6
+ あとはWndProcオーバーライドして、WM_QUERYENDSESSIONやWM_ENDSESSIONをチェックするとかでもいけるかもしれません。(試してはないです)
7
+
8
+ と書いてから気付いたのですが、質問のケースはシャットダウンではなく電源切断の強制終了ですね。
9
+ その場合は検出しようがないので、無理です。