すみません質問があるのですが

アプリケーションの途中でWINDOWS の設定を変更して、
アプリケーション終了時に前の設定に戻してから終了させるような処理を
作りたいのですが。
アプリケーションの実行中に、PCの電源を落とすなどした場合、
終了時の処理が行えず、実行前の設定に戻せない状態ができてしまいます。

故意に電源を落とすなどの行為をアプリケーション側で感知して、
直前に終了処理を行うというようなことは、APIを使ってできるのでしょうか?