Die Community zu .NET und Classic VB.
Menü

Tipp-Upload: VB.NET 0268: Alle Shutdown Modi

 von 

Über den Tipp  

Dieser Tippvorschlag ist noch unbewertet.

Der Vorschlag ist in den folgenden Kategorien zu finden:

  • System

Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
Standby, Hibernate, Logoff, LockWorkstation, Reboot, Shutdown, Ruhezustand, Herrunterfahren, Arbeitsstation sperren, Neustarten

Der Vorschlag wurde erstellt am: 10.05.2008 19:39.
Die letzte Aktualisierung erfolgte am 10.05.2008 19:41.

Zurück zur Übersicht

Beschreibung  

Alle Möglichkeiten zum Beenden von Windows.
Standby, Hibernate, Logoff, LockWorkstation, Reboot, Shutdown

Schwierigkeitsgrad

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

LockWorkStation

Download:

Download des Beispielprojektes [11,08 KB]

' Dieser Source stammt von http://www.activevb.de
' und kann frei verwendet werden. Für eventuelle Schäden
' wird nicht gehaftet.

' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
' Ansonsten viel Spaß und Erfolg mit diesem Source!
'
' Beachten Sie, das vom Designer generierter Code hier ausgeblendet wird.
' In den Zip-Dateien ist er jedoch zu finden.

' --------- Anfang Projektdatei Power-States.vbproj  ---------
' ------------------ Anfang Datei Form1.vb  ------------------
Public Class Form1

    Public Declare Function IsPwrHibernateAllowed Lib "Powrprof" () As Boolean
    Public Declare Function IsPwrSuspendAllowed Lib "Powrprof" () As Boolean

    Public Declare Sub LockWorkStation Lib "user32.dll" ( _
                       )

    Public Declare Function ExitWindowsEx Lib "user32.dll" ( _
                            ByVal uFlags As Integer, _
                            ByVal dwReason As Integer) As Integer

    Public Sub Standby()

        If Not IsPwrSuspendAllowed Then

            MsgBox("Standby leider nicht möglich, überprüfe die Energieoptionen!", _
                MsgBoxStyle.Exclamation)

        Else

            Application.SetSuspendState(PowerState.Suspend, True, True)
        End If

    End Sub

    Public Sub Hibernate()

        If Not IsPwrHibernateAllowed Then

            MsgBox("Ruhezustand leider nicht möglich, überprüfe die Energieoptionen!", _
                MsgBoxStyle.Exclamation)

        Else

            Application.SetSuspendState(PowerState.Hibernate, True, True)
        End If

    End Sub

    Public Sub Logoff()

        ExitWindowsEx(4, 0)

    End Sub

    ''' <summary>
    ''' LockWorkStation ist bereits eine API
    ''' </summary>

    Public Sub Reboot()

        Dim oBetriebssystem As Object, oEigenschaft As Object

        oBetriebssystem = GetObject( _
            "winmgmts:{impersonationLevel=impersonate,(Shutdown)}//./root/cimv2").ExecQuery( _
            "SELECT * FROM Win32_OperatingSystem")

        For Each oEigenschaft In oBetriebssystem
            oEigenschaft.Reboot()
        Next

    End Sub

    Public Sub Shutdown()

        Dim oBetriebssystem, oEigenschaft As Object

        oBetriebssystem = GetObject( _
            "winmgmts:{impersonationLevel=impersonate,(Shutdown)}//./root/cimv2").ExecQuery( _
            "SELECT * FROM Win32_OperatingSystem")

        For Each oEigenschaft In oBetriebssystem
            oEigenschaft.Shutdown()
        Next

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click

        Standby()

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button2.Click

        Hibernate()

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button3.Click

        Logoff()

    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button4.Click

        LockWorkStation()

    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button5.Click

        Reboot()

    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button6.Click

        Shutdown()

    End Sub

End Class

' ------------------- Ende Datei Form1.vb  -------------------
' ---------- Ende Projektdatei Power-States.vbproj  ----------

	

Diskussion  

Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.
Folgende Diskussionen existieren bereits

Alle Shutdown Modi - Kriechi 10.05.2008 19:43

Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.