Rubrik: System/Windows | VB-Versionen: VB.NET | 07.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 Prelle | Bewertung: | Views: 12.243 |
www.visual-basic5.de | System: 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