zoukankan      html  css  js  c++  java
  • C# 操作系统防火墙(续集)

    之前写的一篇C#操作系统防火墙博客,经网友反馈,操作添加程序例外时会出现异常,今天特又测试了一片,确实出现了异常,现在已经将NetFwAddApps(string name, string executablePath)方法修改过来了,经过测试已经可用,代码如下:

      •         /// <summary>
                /// 将应用程序添加到防火墙例外
                /// </summary>
                /// <param name="name">应用程序名称</param>
                /// <param name="executablePath">应用程序可执行文件全路径</param>
                public static void NetFwAddApps(string name, string executablePath) {
                    Type TfwMgr = Type.GetTypeFromProgID("HNetCfg.FwMgr");
                    //创建firewall管理类的实例
                    INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(TfwMgr);
                    Type tapp = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication");
                    INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)Activator.CreateInstance(tapp);
                    //在例外列表里,程序显示的名称
                    app.Name = name;
                    //程序的路径及文件名
                    app.ProcessImageFileName = executablePath;
                    //是否启用该规则
                    app.Enabled = true;
                    //加入到防火墙的管理策略
                    netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app);
                    bool exist = false;
                    //加入到防火墙的管理策略
                    foreach(INetFwAuthorizedApplication mApp in netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications)
                    {
                        if(app == mApp)
                        {
                            exist = true;
                            break;
                        }
                    }
                    if(!exist)
                    {
                        netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app); 
                    }
                }
  • 相关阅读:
    基于代码驱动:处理有依赖关系接口
    Jenkins部署git+python项目实现持续集成
    jenkins安装和邮件配置
    单元测试unittest(基于数据驱动的框架:unittest+HTMLTestRunner/BeautifulReport+yaml+ddt)
    装饰器做权限认证
    jquery + ajax 提交数据报错
    前端添加复选框checkbox 提交到django后台处理
    django的自定义权限
    代码发布系统实现思路
    Django (二) 常用字段及 ORM
  • 原文地址:https://www.cnblogs.com/ITBread/p/2614996.html
Copyright © 2011-2022 走看看