前面幾篇,說了對防火牆的部分操作,今天說 如何 添加 和 刪除 允許通過防火牆的程式進入例外列表
本篇,我們用到了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);