Tipp 0035 Windows beenden ( WMI)
Autor/Einsender:
Datum:
  Jürgen Beil
26.03.2004
Entwicklungsumgebung:   VB.Net 2002
Framework:   1.0
Dieser Tipp demonstriert alle Varianten, wie man mit Hilfe von WMI Windows beenden und neu starten kann. Um WMI einzubinden, muss ein Verweis auf System.Management gesetzt werden.
 
Public Class Form1
  Inherits System.Windows.Forms.Form
Vom Windows Form Designer generierter Code
  Private Sub Button1_Click_1(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click

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

    If RadioButton1.Checked = True Then
      If MessageBox.Show("Die Windows-Sitzung wird beendet " & _
            "und der Computer heruntergefahren.", _
            "Computer herunterfahren", _
            MessageBoxButtons.OKCancel) = DialogResult.OK Then
        For Each oEigenschaft In oBetriebssystem
          oEigenschaft.Shutdown()
        Next
      End If
    Else
      If MessageBox.Show("Die Windows-Sitzung wird beendet " & _
            "und der Computer neu gestartet.", _
            "Computer neu starten", _
            MessageBoxButtons.OKCancel) = DialogResult.OK Then
        For Each oEigenschaft In oBetriebssystem
          oEigenschaft.Reboot()
        Next
      End If
    End If
  End Sub

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

    Dim oBetriebssystem, oEigenschaft As Object
    Dim bytErzwingen As Byte

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

    If CheckBox1.Checked = True Then
      bytErzwingen = 4
    End If

    If RadioButton3.Checked = True Then
      If MessageBox.Show("Die Windows-Sitzung wird beendet " & _
            "und der Computer heruntergefahren.", _
            "Computer herunterfahren", _
            MessageBoxButtons.OKCancel) = DialogResult.OK Then
        For Each oEigenschaft In oBetriebssystem
          oEigenschaft.Win32Shutdown(1 + bytErzwingen)
        Next
      End If
    End If

    If RadioButton4.Checked = True Then
      If MessageBox.Show("Die Windows-Sitzung wird beendet " & _
            "und der Computer neu gestartet.", _
            "Computer neu starten", _
            MessageBoxButtons.OKCancel) = DialogResult.OK Then
        For Each oEigenschaft In oBetriebssystem
          oEigenschaft.Win32Shutdown(2 + bytErzwingen)
        Next
      End If
    End If

    If RadioButton5.Checked = True Then
      If MessageBox.Show("Der aktuelle Benutzer wird " & _
            "abgemeldet.", "Benutzer abmelden", _
            MessageBoxButtons.OKCancel) = DialogResult.OK Then
        For Each oEigenschaft In oBetriebssystem
          oEigenschaft.Win32Shutdown(0 + bytErzwingen)
        Next
      End If
    End If

    If RadioButton6.Checked = True Then
      If MessageBox.Show("Die Windows-Sitzung wird beendet " & _
            "und der Computer abgeschalten.", _
            "Computer ausschalten", _
            MessageBoxButtons.OKCancel) = DialogResult.OK Then
        For Each oEigenschaft In oBetriebssystem
          oEigenschaft.Win32Shutdown(8 + bytErzwingen)
        Next
      End If
    End If
  End Sub

  Private Sub Button3_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button3.Click
    Me.Close()
  End Sub
End Class
 
Weitere Links zum Thema
System-Informationen auslesen (WMI)

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (9,8 kB) Downloads bisher: [ 1668 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 22. Januar 2012