DOBON.NET DOBON.NETプログラミング掲示板過去ログ

シャットダウンを検知してイベントを起動するには

環境/言語:[Windows Vista Home Premium VB.Net 2010]
分類:[.NET]

.Net Tipsのサイトを見て、シャットダウンを検知してイベントを起動するソースを実行したのですが、SessionEndingEventArgsのところが、エラーになります。なぜでしょうか。

ソースコード(SessionEndReasonsとSessionEndingEventArgsのところが、エラーになります)

Public Class Form1

Private Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
Me.Visible = False
End Sub

Private Sub SystemEvents_SessionEnding(ByVal sender As Object, ByVal e As SessionEndingEventArgs)
Dim s As String
If e.Reason = SessionEndReasons.Logoff Then
s = "ログオフしようとしています。"
ElseIf e.Reason = SessionEndReasons.SystemShutdown Then
s = "シャットダウンしようとしています。"
End If
If MessageBox.Show(s + vbNewLine + "キャンセルしますか?", _
"質問", MessageBoxButtons.YesNo) = DialogResult.Yes Then
'キャンセルする
e.Cancel = True
End If
End Sub
End Class
■No31202に返信(金田武さんの記事)
> .Net Tipsのサイトを見て、シャットダウンを検知してイベントを起動するソースを実行したのですが、SessionEndingEventArgsのところが、エラーになります。なぜでしょうか。

  どこかで、Addhandler しているはずですが、その部分が
  ないですネ!〜なので解らん・・・

  あと、老婆心ながら・・・
  シャットダウン検知で、キャンセルを発行しても、既に他の
  アプリやサービスが終了処理してしまっている場合、その時
  点からの継続的動作は、好ましくなりません。

  よって、シャットダウン検知した時点は選択の余地なく、あ
  なたのアプリも迅速に終了するようにした方がよいです。

以上。参考まで
すみません。私が読み違えていました。よく読み、その通りに行ったところ、ちゃんと作動しました。ありがとうございます。

このシステムは、実用というよりは、勉強がてら、という意味もありますので、意味がなくても別にいいんです^^。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板