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); 
                    }
                }
  • 相关阅读:
    [置顶] Android中定时器的3种实现方法
    [置顶] Android代码应用程序通过WakeLock保持后台唤醒状态
    [置顶] 当爱情遇上互联网
    [置顶] Android咨询阿米巴基金合伙人李治国:我为什么投资快的打车?
    [置顶] Android问题Getting Android Sensor Events While The Screen is Off
    静态SQL和动态SQL
    IBM Data Studio使用对象创建的双引号/大小写问题以及表/列重命名
    DB2数据库查询过程(Query Processing)统计信息与过滤因子(Statistics and Filter Factors)
    DB2数据库查询过程(Query Processing)概述
    DB2数据库查询过程(Query Processing)表扫描与I/O(Table Scan and I/O)
  • 原文地址:https://www.cnblogs.com/ITBread/p/2614996.html
Copyright © 2011-2022 走看看