用到的库为Interop.NetFwTypeLib.dll
获取防火墙状态
//判断防火墙状态
private static NetFwTypeLib.INetFwMgr GetFirewallManager()
{
const string CLSID_FIREWALL_MANAGER = "{304CE942-6E39-40D8-943A-B913C40C9CD4}";
Type objType = Type.GetTypeFromCLSID(new Guid(CLSID_FIREWALL_MANAGER));
return Activator.CreateInstance(objType) as NetFwTypeLib.INetFwMgr;
}
private void InitFireWall()
{
NetFwTypeLib.INetFwMgr netFwMgr = GetFirewallManager();
if (netFwMgr.LocalPolicy.CurrentProfile.FirewallEnabled == true)
{
lbl_firewallStatus.ForeColor = Color.GreenYellow;
btn_disableFirewall.Text = Enumeration.adsSystemLanguage.adsChinese == Program.core.environment.language ? "关闭防火墙" : "Close FireWall";