狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 防火墻操作之特定程序

admin
2021年3月24日 23:9 本文熱度 4171

將特定程序加入防火墻組,與將特定端口加入防火墻流程類似。詳情見“C# 防火墻操作之特定端口”。其主要代碼為:

/// <summary>
/// 允許應用程序通過防火墻
/// </summary>
/// <param name="appPath">應用程序的絕對路徑</param>
/// <exception cref="FileNotFoundException">未找到程序文件</exception>
public static void AllowAppUseFirewall(string appPath)
{
    if(System.IO.File.Exists(appPath)==false)
    {
        throw new System.IO.FileNotFoundException("未找到程序文件");
    }
    //創建firewall管理類的實例: Type的GetTypeFromProgID是通過注冊表信息項目創建實例類型
    INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
    //以程序名為規則名創建規則,以便查詢
    string name = System.IO.Path.GetFileNameWithoutExtension(appPath);
    NET_FW_PROFILE_TYPE_ currentProfileType = netFwMgr.CurrentProfileType;
    //查找防火墻規則中是否已有同名規則存在
    foreach (INetFwAuthorizedApplication item in netFwMgr.LocalPolicy.GetProfileByType(currentProfileType).AuthorizedApplications)
    {
        if (item.Name == name)
        {
            return;
        }
    }
    //創建一個認證程序類的實例
    INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication"));
    
    //在例外列表里,程序顯示的名稱
    app.Name = name;
    //程序的絕對路徑,這里使用程序本身
    app.ProcessImageFileName = appPath;
    //端口的范圍,針對哪類或哪個IP地址
    //objPort.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL;
    //此處可以指定IP地址版本信息
    //objPort.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_V4;
    //是否啟用該規則
    app.Enabled = true;
    //加入到防火墻的管理策略
    netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app);
}
/// <summary>
/// 移除應用程序通過防火墻
/// </summary>
/// <param name="appPath">應用程序的絕對路徑</param> public static void RemoveAppUseFirewall(string appPath) { INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr")); //參數為程序的絕對路徑 netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Remove(appPath); }

該文章在 2021/3/24 23:09:14 編輯過

全部評論1

admin
2021年3月24日 23:55

本篇,我們用到了COM引用,因為不使用COM引用的話,操作太過繁瑣了 

一、 添加 COM 引用

在引用里,選擇 COM 頁, 找到 NetFwTypeLib , 確定即可

二、 引入命名空間

using NetFwTypeLib;

三、 添加允許通過防火牆的例外程序

//創建firewall管理類的實例
INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
//創建一個認證程序類的實例
INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)Activator.CreateInstance(
    Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication"));
//在例外列表里,程序顯示的名稱
app.Name = "自定義"; 
//程序的決定路徑,這里使用程序本身
app.ProcessImageFileName = Application.ExecutablePath;
//是否啟用該規則
app.Enabled = true;
//加入到防火牆的管理策略
netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app);

四、刪除一個例外 列表 里的程序

INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
//參數為程序的絕對路徑
netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Remove(Application.ExecutablePath);

該評論在 2021/3/24 23:56:16 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved