常住するアプリで?

解決


マグ  2004-11-10 15:04:32  No: 117491  IP: [192.*.*.*]

現在、常住するアプリケーションを作っているのですが、
シャットダウン時にエラーが出てしまいます。
シャットダウンやログオフされたときに、
シャットダウンやログオフをさせる前にアプリケーションを終了するまで待たせてから、
シャットダウンやログオフさせるという方法がありますでしょうか?
あるなら、教えてください。

ネットなどで検索をかけたのですが、そういう動作をするソースが見つかりません。
あるいは、DoEventsを使用しようかと思ったのですが、
DoEventsの効果で
Windowsのシャットダウンが先に進んでしまいそうな気がしたので試していないのですが・・・・・

環境:VB.NET + WindowsXP

現在のソースは下に記述しています。

Imports Microsoft.Win32

    Private Sub Form1_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs) _
            Handles MyBase.Load
        'イベントをイベント ハンドラに関連付ける
        AddHandler SystemEvents.SessionEnding, _
            AddressOf SystemEvents_SessionEnding
    End Sub

    Private Sub Form1_Closed(ByVal sender As Object, _
            ByVal e As System.EventArgs) _
            Handles MyBase.Closed
        'イベントを開放する
        RemoveHandler SystemEvents.SessionEnding, _
            AddressOf SystemEvents_SessionEnding
    End Sub

    'ログオフ、シャットダウンしようとしているとき
    Private Sub SystemEvents_SessionEnding( _
            ByVal sender As Object, _
            ByVal e As SessionEndingEventArgs)
        Dim sw As System.IO.StreamWriter
        sw = New System.IO.StreamWriter("C:\Test.txt", False, _
                                                    System.Text.Encoding.Default)
        sw.Write("終了しました。")
        sw.Close()
        Me.Close()
    End Sub

編集 削除
マグ  2004-11-11 13:05:52  No: 117492  IP: [192.*.*.*]

自己解決しました。

エラーの原因がわかりました。
デバッグをした後、ウィンドウが出てプログラムが動いて
Visual Stadio .NET が起動したまま
シャットダウンやログオフをしていました。

完全にうっかりしていた私のミスでした。

編集 削除