Click here to Skip to main content
6,291,124 members and growing! (15,768 online)
Email Password   helpLost your password?
Platforms, Frameworks & Libraries » .NET Framework » Samples     Intermediate

Find out what's closing your application

By MrPolite

Code in VB.NET to find out what's closing your application.
C#, VB.NET 1.0, Win2K, WinXP, Visual Studio, Dev
Posted:12 Oct 2002
Updated:15 Oct 2002
Views:75,679
Bookmarked:19 times
Announcements
Loading...
 
Search    
Advanced Search
printPrint   Broken Article?Report       add Share
  Discuss Discuss   Recommend Article Email
15 votes for this article.
Popularity: 3.10 Rating: 2.64 out of 5
1 vote, 20.0%
1

2

3
1 vote, 20.0%
4
3 votes, 60.0%
5

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


Member

Location: United States United States

Other popular .NET Framework articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 15 of 15 (Total in Forum: 15) (Refresh)FirstPrevNext
GeneralHandles Mybase.closing Pinmemberatogwe9:04 11 Jun '07  
GeneralUsing WM_QUERYENDSESSION to detect Windows shutdown Pinmemberrodgerc9:13 2 Oct '06  
GeneralOverriding WndProc changes the GetMethod.Name properties PinmemberHanreG3:15 7 Nov '03  
GeneralCoversion of C++ method PinmemberBogBrush Zone5:12 31 Aug '03  
GeneralMore complete implementation PinmemberEvilDoctorSmith9:23 28 Oct '02  
GeneralClosing a User Control PinsussPeter S7:06 16 Oct '02  
GeneralRe: Closing a User Control PinmemberDavid Stone15:55 16 Oct '02  
GeneralRe: Closing a User Control PinmemberBarryJ21:09 16 Oct '02  
GeneralRepost PinmemberRichard_D0:05 14 Oct '02  
GeneralRe: Repost PinsussAnonymous15:13 14 Oct '02  
GeneralRe: Repost PinmemberRichard_D23:40 14 Oct '02  
GeneralRe: Repost PinsussAnonymous19:36 14 Oct '02  
GeneralRe: Repost PinmemberRichard_D23:47 14 Oct '02  
GeneralRe: Repost PinmemberKourosh13:22 16 Oct '02  
GeneralRe: Repost PinmemberRichard_D0:02 17 Oct '02  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 15 Oct 2002
Editor: Smitha Vijayan
Copyright 2002 by MrPolite
Everything else Copyright © CodeProject, 1999-2009
Web17 | Advertise on the Code Project