引用 C:\Windows\SysWOW64 或C:\Windows\System32 目录下的 FirewallAPI.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 Firewall_Is_Open()
{
INetFwMgr netFwMgr = GetFirewallManager();
if (netFwMgr.LocalPolicy.CurrentProfile.FirewallEnabled == true)
{ Console.WriteLine("检测到您的windows防火墙已开启" + "\n若网口监听无数据,请检查软件是否被防火墙拦截!");
}}