Zum Inhalt springen

Prüfen ob der PC gerade heruntergefahren wird?


Worn

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...