-
大小: 28.27 KB文件類(lèi)型: .rar金幣: 2下載: 0 次發(fā)布日期: 2024-08-16
- 語(yǔ)言: C#
- 標(biāo)簽:
資源簡(jiǎn)介
C#更改Windows防火墻設(shè)置實(shí)例程序
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?NetFwTypeLib;//在添加引用時(shí),選擇?COM?選項(xiàng)卡,?找到?NetFwTypeLib
//Download?by?http://www.codefans.net
namespace?WindowsFireWall
{
????public?partial?class?Form1?:?Form
????{
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????//創(chuàng)建firewall管理類(lèi)的實(shí)例
????????INetFwMgr?netFwMgr?=?(INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID(“HNetCfg.FwMgr“));
????????private?void?radioButton1_CheckedChanged(object?sender?EventArgs?e)
????????{
????????????checkBox1.Enabled?=?checkBox2.Enabled?=?radioButton1.Checked;
????????}
????????//加載時(shí)生成選中狀態(tài)
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????bool?isEnabled?=?netFwMgr.LocalPolicy.CurrentProfile.FirewallEnabled;
????????????
????????????if?(isEnabled)
????????????{
????????????????//radioButton1.Checked?=?isEnabled;
????????????????checkBox1.Checked?=?!netFwMgr.LocalPolicy.CurrentProfile.ExceptionsNotAllowed;
????????????????checkBox2.Checked?=?!netFwMgr.LocalPolicy.CurrentProfile.NotificationsDisabled;
????????????}
????????????else?{
????????????????//radioButton2.Checked?=?true;
????????????}
????????}
????????//應(yīng)用選擇的防火墻策略
????????private?void?button4_Click(object?sender?EventArgs?e)
????????{
????????????bool?isEnalbed?=?radioButton1.Checked;
????????????if?(!isEnalbed)
????????????{
????????????????//防止關(guān)閉防火墻時(shí)右下角的提示,關(guān)閉安全中心服務(wù)
????????????????System.ServiceProcess.ServiceController?sec?=?new?System.ServiceProcess.ServiceController(“Security?Center“);
????????????????if?(sec.CanStop)
????????????????????sec.Stop();
????????????}
????????????netFwMgr.LocalPolicy.CurrentProfile.FirewallEnabled?=?isEnalbed;
????????????if?(isEnalbed)
????????????{
????????????????netFwMgr.LocalPolicy.CurrentProfile.ExceptionsNotAllowed?=?!checkBox1.Checked;
????????????????netFwMgr.LocalPolicy.CurrentProfile.NotificationsDisabled?=?!checkBox2.Checked;
????????????}
????????}
????????//還原默認(rèn)設(shè)置
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????////獲取管理防火墻的COM組件的type
????????????//Type?fwMgrType?=?Type.GetTypeFromProgID(“HNetCfg.FwMgr“true);
????????????////創(chuàng)建一個(gè)COM組件的實(shí)例
????????????//object?fwMgr?=?Activator.CreateInstance(fwMgrType);
????????????////調(diào)用?RestoreDefaults()?恢復(fù)默認(rèn)值
????????????//fwMgrType.InvokeMember(“RestoreDefaults“System.Reflection.BindingFlags.InvokeMethod?null?fwMgr?null);
????????????netFwMgr.RestoreDefaults();
????????????Form1_Load(null?null);
????????}
????????//創(chuàng)建一個(gè)認(rèn)證程序類(lèi)的實(shí)例
????????INetFwAuthorizedApplication?app?=?(INetFwAuthorizedApplication)Activator.CreateInstance(Type.GetTypeFromProgID(“HNetCfg.FwAuthorizedApplication“));
????????private?void?button2_Click(object?sender?EventArgs?e)
????????{
????????????//在例外列表里,程序顯示的名稱(chēng)
????????????app.Name?=
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
-----------?---------??----------?-----??----
????????????????94729????????????????????28
評(píng)論
共有 條評(píng)論