Veröffentlicht 5. September 200619 j Hy, kann mir jmd. sagen wie ich prüfen kann ob der PC gerade heruntergefahren wird? Ich hab ein Programm welches im Tray liegt und das soll in dem Fall nicht fragen ob es geschlossen werden soll sondern dies einfach tun! Ich hatte dort: system.environment.HasShutdownStartetd oder das klappt leider nicht. Danke für Infos ben PS: Ich nutze Visual Studio Express / FW 2.0
5. September 200619 j probier mal das Private Const WM_QUERYENDSESSION As Int32 = &H11 Private Const WM_ENDSESSION As Int32 = &H16 Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = WM_QUERYENDSESSION Then m.Result = New IntPtr(1) ElseIf m.Msg = WM_ENDSESSION Then If m.WParam.ToInt32() = 1 Then Me.Close() End If End If MyBase.WndProc(m) End Sub
5. September 200619 j Hm, da musst du mir auf die Sprünge helfen.. Wie soll ich das einbauen? Ich dachte eher an eine Abfrage im Form_Closing Event des Programms: Private Sub frm_bdr_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If Not System.Environment.HasShutdownStarted = True Then If MsgBox("XXXXX", MsgBoxStyle.YesNo, "Frage:") = MsgBoxResult.Yes Then NotifyIcon.Visible = False Else e.Cancel = True End If End If End Sub So in der Art... geht nur nicht. Die Procedur die du mir anbietest kann mir ja keinen Rückgabewert geben? Also wohin damit? Grüße Ben
5. September 200619 j die funktion wird staendig im hintergrund aufgerufen... diese stellt dann fest, ob windows runtergefahren wird du brauchst sie eigentlich nur einzufügen... die variablen halt am anfang ganz oben einfügen!
5. September 200619 j Okay hab ich gerade auch rausgefunden! Hab das nochmal auf VB Fun gefunden da stand noch eine Erklärung dabei. Ich teste mal eben. Meld mich dann nochmal! Grüße ben
5. September 200619 j Hmm.. geht leider nicht.. kanns ja auch nicht debuggen wenn ich den Rechner dann Herunterfahre bzw. Neustarte.. macht der da noch einen Unterschied? Eigentlich wird der Rechner ja bei einem Neustart auch erstmal runtergefahren. Er hat nun meine MSGBOX sogar 2 mal gebracht! Grüße Ben PS: Ich vermute das es in Visual Studio irgendwie einfacher geht!
5. September 200619 j Hey, na also ähh es ist mir fast peinlich. Aber willkommen in der Welt des Framworks 2! Ich hab das Ereignis form_Closing. Dort gibt es den Parameter e. Der hat eine Methode e.closeReason! Tja dann sagt man eben if e.closeReason = Windoooofshutdown then .... Und schon läuft die Kiste! Grüße Ben Danke für die Hilfe zur Selbsthilfe
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.