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

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

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

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

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

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

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

全部評(píng)論1

admin
2021年3月24日 23:55

本篇,我們用到了COM引用,因?yàn)椴皇褂肅OM引用的話,操作太過繁瑣了 

一、 添加 COM 引用

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

二、 引入命名空間

using NetFwTypeLib;

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

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

四、刪除一個(gè)例外 列表 里的程序

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

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