Click here to Skip to main content
Licence 
First Posted 12 Oct 2002
Views 87,833
Bookmarked 25 times

Find out what's closing your application

By | 15 Oct 2002 | Article
Code in VB.NET to find out what's closing your application.

Introduction

You can use this code to see why your application is closing (closed by user, by Windows, by code?). It can be very handy if you are using a NotifyIcon in your app. You can figure out if the user is closing your app or not, if so, then you can just minimize it to tray.

For those who have used Visual Basic before, you know that there was a QueryUnload method for your Forms and that you could find out the reason for the form's closing by examining the UnloadMode variable.

This code snippet shows you how to do this in .NET. The sample code is in VB.NET. The code is from GotDotNet message boards, written by "YeahIGotDotNet".

Private Sub Form1_Closing(ByVal sender As Object, _
  ByVal e As System.ComponentModel.CancelEventArgs) _
  Handles MyBase.Closing
    Dim O As System.Diagnostics.StackTrace = _
           New System.Diagnostics.StackTrace(True)
    Dim F As System.Diagnostics.StackFrame

    F = O.GetFrame(7)

    Select Case F.GetMethod.Name.ToString
        Case "SendMessage"
            MsgBox("Closing because of call in code.")
        Case "CallWindowProc"
            MsgBox("Closing because of system menu click.")
        Case "DispatchMessageW"
            MsgBox("Closing because of Task Manager.")
        Case Else
            MsgBox("Don't Know why I'm closing!!??")
    End Select
End Sub

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

MrPolite



United States United States

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralHandles Mybase.closing Pinmemberatogwe8:04 11 Jun '07  
I am trying to implement a handler for mybase.closing in VB.NET 2005. I am getting the blue underline error message saying "Event 'Closing' was not found". I know your article was done in 2002, and that the rtool is significantly different, but is there anything that I can do to resolve this issue???
 
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
 
T
GeneralUsing WM_QUERYENDSESSION to detect Windows shutdown Pinmemberrodgerc8:13 2 Oct '06  
GeneralOverriding WndProc changes the GetMethod.Name properties PinmemberHanreG2:15 7 Nov '03  
GeneralCoversion of C++ method PinmemberBogBrush Zone4:12 31 Aug '03  
GeneralMore complete implementation PinmemberEvilDoctorSmith8:23 28 Oct '02  
GeneralClosing a User Control PinsussPeter S6:06 16 Oct '02  
GeneralRe: Closing a User Control PinmemberDavid Stone14:55 16 Oct '02  
GeneralRe: Closing a User Control PinmemberBarryJ20:09 16 Oct '02  
GeneralRepost PinmemberRichard_D23:05 13 Oct '02  
GeneralRe: Repost PinsussAnonymous14:13 14 Oct '02  
GeneralRe: Repost PinmemberRichard_D22:40 14 Oct '02  
GeneralRe: Repost PinsussAnonymous18:36 14 Oct '02  
GeneralRe: Repost PinmemberRichard_D22:47 14 Oct '02  
GeneralRe: Repost PinmemberKourosh12:22 16 Oct '02  
GeneralRe: Repost PinmemberRichard_D23:02 16 Oct '02  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120529.1 | Last Updated 16 Oct 2002
Article Copyright 2002 by MrPolite
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid