vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: System/Windows   |   VB-Versionen: VB.NET07.04.08
Firewall-Status unter WinXP/Vista prüfen

Das Beispiel prüft, ob die Firewall unter Windows XP/Vista eingeschaltet ist oder nicht. Zudem wird eine Abfrage durchgeführt ob es sich bei dem zugrundeliegenden Betriebssystem um Windows XP/Vista handelt oder nicht.

Autor:   Heinz PrelleBewertung:  Views:  12.045 
www.visual-basic5.deSystem:  WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Schalten Sie zum Testen die Firewall entweder aus- oder ein um ein Ergebnis zu bekommen. Das Beispiel testet zudem, ob es sich bei dem zugrundeliegenden Betriebssystem um WinXP bzw. Vista handelt.

Public Class Firewall
  ''' <summary>
  ''' Rückgabe Betriebssystem (True, wenn XP, andernfalls False)
  ''' </summary>
  Public ReadOnly Property OS() As Boolean
    Get
      Return Me.IsWindowsXPOrVista()
    End Get
  End Property
 
  ''' <summary>
  ''' Rückgabe Firewall Status (True, wenn aktiviert, andernfalls False)
  ''' </summary>
  Public ReadOnly Property ReturnFirewallState() As Boolean
    Get
      Return Me.IsFirewallEnabled()
    End Get
  End Property
  ''' <summary>
  ''' Prüfen, ob die Firewall eingeschaltet ist oder nicht.
  ''' </summary>
  Private Function IsFirewallEnabled() As Boolean
    ' Variablen deklarieren...
    Dim hObject As Object
    Dim cp As Object
    Dim State As Boolean
 
    Try
      ' ... und initialisieren...
      hObject = CreateObject("HNetCfg.FwMgr")
      cp = hObject.LocalPolicy.CurrentProfile
      ' Rückgabe = True
      If cp.FirewallEnabled Then
        State = True
      Else
        ' ... sonst False
        State = False
      End If
      ' Resourcen freigeben.
      cp = Nothing
      hObject = Nothing
      ' Status zurückgeben
      Return State
 
    Catch ex As Exception
      ' Wenn Fehler dann ist die Rückgaben = False
      Return False
    End Try
  End Function
  ''' <summary>
  ''' Windows Version ermitteln.
  ''' </summary>
  Private Function IsWindowsXPOrVista() As Boolean
    ' OS Version ermitteln und ...
    Dim OS As OperatingSystem = Environment.OSVersion
    ' prüfen ob es sich um Windows XP handelt.
    Dim Result As Boolean = OS.Platform = PlatformID.Win32NT AndAlso _
       ((OS.Version.Major = 5 AndAlso _
       OS.Version.Minor >= 1) OrElse _
       OS.Version.Major > 5)
    ' Handelt es sich um XP/Vista wird True zurückgegeben...
    If Result Then
      Return True
    Else
      ' ... sonst False
      Return False
    End If
  End Function
End Class

Aufrufbeispiel:

Private Sub Button1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button1.Click
 
  ' Klasse initialisieren.
  Dim fw As New Firewall
  ' Handelt es sich um WinXP/Vista? Wenn ja, dann...
  If fw.OS() Then
    ' wird das Funktionsergebnis an die Variable FirewallState übergeben.
    Dim FirewallState As Boolean = fw.ReturnFirewallState()
    ' Ergebnis aus FirewallState auswerten...
    Select Case FirewallState
      Case True
        ' Die Firewall ist eingeschaltet.
        MessageBox.Show(FirewallState.ToString() & _
          " Firewall is switched on", "Info")
      Case Else
        ' Die Firewall ist ausgeschaltet.
        MessageBox.Show(FirewallState.ToString() & _
          " Firewall is switched off", "Info")
    End Select
  Else
    ' Handelt es sich nicht um Windows XP/Vista wird dies signalisiert.
    MessageBox.Show("Operating system is not supported", "Info")
  End If
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.