Imports System
Imports NetFwTypeLib
' Provides access to the firewall settings for a computer.
Public Function GetFwMgr() As NetFwTypeLib.INetFwMgr
Dim oINetFwMgr As NetFwTypeLib.INetFwMgr
Dim NetFwMgrObject As Object
Dim NetFwMgrType As Type
' Use the COM CLSID to get the associated .NET System.Type
NetFwMgrType = Type.GetTypeFromCLSID( _
New Guid("{304CE942-6E39-40D8-943A-B913C40C9CD4}"))
' Create an instance of the object
NetFwMgrObject = Activator.CreateInstance(NetFwMgrType)
oINetFwMgr = NetFwMgrObject
Return oINetFwMgr
End Function
' Provides access to the firewall settings profile.
Public Function GetProfile() As NetFwTypeLib.INetFwProfile
Dim oINetPolicy As NetFwTypeLib.INetFwPolicy
Dim oINetFwMgr As NetFwTypeLib.INetFwMgr
oINetFwMgr = GetFwMgr()
oINetPolicy = oINetFwMgr.LocalPolicy
Return oINetPolicy.CurrentProfile
End Function
' Enable windows firewall.
Public Sub ActivateFirewall()
Dim fwProfile As NetFwTypeLib.INetFwProfile
fwProfile = GetProfile()
fwProfile.FirewallEnabled = True
End Sub
' Disable windows firewall.
Public Sub DisableFirewall()
Dim fwProfile As NetFwTypeLib.INetFwProfile
fwProfile = GetProfile()
fwProfile.FirewallEnabled = False
End Sub
' Firewall state || False = Disabled - True = Enabled.
Public Function FirewallEnabled() As Boolean
Dim fwProfile As NetFwTypeLib.INetFwProfile
fwProfile = GetProfile()
Return fwProfile.FirewallEnabled
End Function
' Enable firewall on Form_Load.
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
If FirewallEnabled() = False Then
ActivateFirewall()
Else
DisableFirewall()
End If
MessageBox.Show("Firewall enabled: " & FirewallEnabled())
End Sub