C#如何检测系统防火墙的状态

时间:2021-07-14 17:04:03
想做个小程序自己检测自己电脑的防火墙是否开启,如何做到呢?
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 static INetFwMgr netFwMgr = GetFirewallManager();  
        private void button3_Click(object sender, EventArgs e)
        {
            if (netFwMgr.LocalPolicy.CurrentProfile.FirewallEnabled == true)   
            {   
                MessageBox.Show("Windows防火墙已打开");   
            }   
            else  
            {   
               MessageBox.Show("windows防火墙已关闭");   
            }   

        }

这段代码可以检测到windows防火墙的状态,那如何检测到安装的其他防火墙呢?

6 个解决方案

#1


-,-LZ这段代码我还是第一次看见耶.....我还不会这么高级的...

#2


学习一下。

#3


可以从系统服务判断防火墙服务是否开启

#4


3楼正解

#5


楼上正解~~

#6


自己找到方法了,使用WMI.结贴了,谢谢大家。

#1


-,-LZ这段代码我还是第一次看见耶.....我还不会这么高级的...

#2


学习一下。

#3


可以从系统服务判断防火墙服务是否开启

#4


3楼正解

#5


楼上正解~~

#6


自己找到方法了,使用WMI.结贴了,谢谢大家。