Windows7でシャットダウンをキャンセルするには?


norick  2011-05-06 18:00:07  No: 102879  IP: [192.*.*.*]

お世話になっております。
早速ですが、ご質問させていただきます。

Windows7とVB2008使用して作成しております。
こちらの過去の書き込みを拝見して、OSからログオフ・シャットダウン・再起動を行った際、それをキャンセルするように致しました。
以下がそのコードです。

---------------------------------
Imports Microsoft.Win32

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        AddHandler SystemEvents.SessionEnding, AddressOf aaaa

    End Sub

    Public Sub aaaa(ByVal sender As Object, ByVal e As SessionEndingEventArgs)
        e.Cancel = True
    End Sub
End Class
------------------------------------

XPで動作させるとログオフ等がキャンセルされますが、Windows7で動作させてもキャンセルされません。XP以外でも想定通り動く方法をご存じの方がおられましたら、大変お手数ですが、ご教授いただきたくお願いいたします。

また、「e.Cancel = True」以降に処理をさせようと思い、追加したところ、
「プログラムの終了 - WindowsApplicat」ダイアログが表示されます。
ログオフ等はキャンセルされた後の処理なのでなぜ表示されるのか、わかりません。表示させない方法をご存知の方がおられましたら、合わせてご教授いただければ幸いです。

大変お手数おかけいたしますが、よろしくお願いいたします。

編集 削除