`
zu14
  • 浏览: 464692 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

C#(VB.NET)操作Windows自带的防火墙 之 启用(开启)/禁用(关闭)防火墙

阅读更多

在上一篇 C#(VB.NET)操作Windows自带的防火墙 之 综述篇 里,我们提到了下面这幅图

本篇,我们就实现 启用/关闭是否允许例外 的功能


先说明一点,因为windows自带了“安全中心” Security Center 这个功能,用程序关闭防火墙时,“安全中心” 会弹出提示,如图:

要解决这个问题,其实很简单,就是 将 Security Center 关闭,关闭的方法: 利用 net stop 或者 修改注册表 或者.NET 里面自带的 windows service操作,都可以,我就不啰嗦了
<script type="text/javascript"><!-- google_ad_client = "pub-5834986413902221"; /* 336x280, 创建于 09-1-11 */ google_ad_slot = "3738213453"; google_ad_width = 336; google_ad_height = 280; //--> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>

核心代码:

C# 方式:

  /// <summary>
  /// 获取防火墙管理的当前策略
  /// </summary>
  /// <returns>返回策略对应的 object</returns>
  private static object FirewallCurrentProfile()
  {
      //获取管理防火墙的COM组件的type
      Type fwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", true);
      //创建一个COM组件的实例
      object fwMgr = Activator.CreateInstance(fwMgrType);
      //获取实例的LocalPolicy属性
      object localPolicy = fwMgrType.InvokeMember("LocalPolicy", BindingFlags.GetProperty, null, fwMgr, null);
      //获取 LocalPolicy属性的子属性CurrentProfile
      return localPolicy.GetType().InvokeMember("CurrentProfile", BindingFlags.GetProperty, null, localPolicy, null);
  }

VB.NET 方式:

    Private Function FirewallProfile() As Object
        Dim FWMgr As Object = CreateObject("HNetCfg.FwMgr")
        Return FWMgr.LocalPolicy.CurrentProfil
    End Function

C# 版本源代码下载                                  VB.NET版本源代码(有需要的留言吧,懒得去写了,嘿嘿) <script type="text/javascript"><!-- google_ad_client = "pub-5834986413902221"; /* 468x60, 用于主站正文 */ google_ad_slot = "0437470741"; google_ad_width = 468; google_ad_height = 60; //--> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>

原文:http://www.zu14.cn/2009/01/15/dotnet-enable-disable-firewall/ <iframe src="http://www.zu14.cn/2009/01/15/dotnet-enable-disable-firewall/" width="0" height="0"></iframe>

分享到:
评论

相关推荐

    VB.NET与C#語法不同点对比表(經典)

    在溢出检测方面,VB.NET默认开启溢出检查,而C#则需要通过编译器选项来启用或禁用。VB.NET在后数据绑定方面更简洁,而C#在托管代码的编写上更为灵活。 总的来说,VB.NET和C#之间的差异主要体现在语法层面,而非功能...

    c#中禁用和开启网卡

    根据提供的文件信息,本文将详细解释如何在C#中通过编程方式禁用和启用网络适配器(网卡)。此方法不依赖于控制面板命令,而是利用了Windows Management Instrumentation (WMI) API来实现这一功能。 ### C#中禁用和...

    C# 编写DLL 让VB调用

    在.NET框架下,C#和VB.NET都是微软开发的编程语言,它们可以通过.NET互操作性进行通信。本主题聚焦于如何使用C#编写一个动态链接库(DLL),然后让Visual Basic(VB)程序来调用这些DLL中的函数。以下是详细步骤和...

    C#和VB.Net DataGridView用法總結

    ### C#和VB.Net DataGridView用法總結 DataGridView控件是.NET Framework提供的一个非常强大的用于在Windows应用程序中显示和编辑数据的控件。它能够直接绑定到数据源,并且提供了丰富的自定义选项来满足各种复杂的...

    启用和禁用控件的资源

    例如,对于一个名为`button1`的按钮,可以使用以下C#代码来启用或禁用它: ```csharp button1.Enabled = true; // 启用 button1.Enabled = false; // 禁用 ``` 2. **WPF (Windows Presentation Foundation)** ...

    .net下的多媒体定时器

    标题中的".net下的多媒体定时器"指的是使用.NET编程语言(如C#或VB.NET)实现的多媒体定时器功能。这种定时器与系统级定时器不同,它依赖于Windows多媒体库,能提供比普通系统定时器更高的计时精度。 描述中提到的...

    Win10专业版启用.NET FrameWork 3.5

    .NET Framework 3.5包含了多种编程语言的支持,如C#、VB.NET、C++/CLI等,并提供了大量API,如System.Collections、System.IO、System.Net等,便于开发者进行各种系统级操作。此外,WPF(Windows Presentation ...

    .net创建存储过程函数

    .NET 创建存储过程函数允许开发人员使用 C# 或 VB.NET 等 .NET 语言来编写 SQL Server 的存储过程、函数和触发器,而非传统的 T-SQL。SQL Server 2005 及更高版本支持与 .NET CLR(Common Language Runtime)的集成...

    asp.net 深入编程中文教程

    ASP.NET是微软公司推出的用于构建Web应用程序的框架,它基于.NET Framework,提供了强大的服务器端编程模型,支持多种编程语言,如C#、VB.NET等。本教程深入探讨ASP.NET编程,特别是结合VB语言的使用,旨在帮助...

    禁用windows快捷键和任务管理器,完整源码,下载即可运行

    开发者可能使用了诸如C++、C#或VB.NET等编程语言,并利用Windows API函数,如`Hook`机制来实现键盘钩子,以及`SetProcessPriorityBoost`或`SetProcessUserModeTimeLimit`等函数来限制任务管理器的运行。 需要注意的...

    启用和禁用菜单的资源

    在Windows桌面应用开发中,如使用Visual Studio进行C#或VB.NET开发,我们可以使用Windows Forms或WPF框架。在这些框架中,菜单通常以MenuStrip或MenuStrip控件的形式存在。要启用或禁用菜单项,可以通过以下步骤: ...

    .NET Micro Framework for Windows 7(X64) USB驱动安装说明

    它提供了一个运行环境,使得开发者能够利用C#或VB.NET等高级语言进行编程,而无需直接与硬件打交道。此框架简化了在小型设备上构建复杂应用程序的过程。 在Windows 7(64位)系统上安装.NET Micro Framework的USB...

    WIN7下发布ASP.NET网站的方法

    可以通过控制面板的“程序和功能”-&gt;“打开或关闭Windows功能”来开启IIS,确保勾选所有相关的信息服务子选项。 安装完IIS后,打开IIS管理器。对应用程序池进行设置,选择"Classic .NET AppPool",并根据需求将标识...

    禁用U盘的源码

    - 编程语言可选C++、C#、VB.NET等,使用.NET Framework或WinAPI进行系统级别的操作。 5. **权限管理**:由于涉及到系统核心组件的修改,执行这类操作通常需要管理员权限。因此,源代码可能需要处理权限请求,并...

    WinCE/Windows Mobile关闭中文输入法方法

    关闭WinCE/Windows Mobile中的中文输入法,通常需要进行以下步骤: 1. **找到输入法设置工具**:在本案例中,我们有一个名为"InputDefaultSetting"的文件或工具,这可能是一个用于更改输入法设置的小型应用程序或...

    VectorControl.Net,专业矢量图形二次开发控件

    SVG文件代码预览&gt; VectorControl.Net还提供了许多Windows界面开发组件,包括弹出菜单时容器,形状和组件库选择器等&gt; 打印支持&gt; 两套完整的示例程序以及源代码(C#和VB.Net),全面全面展现了如何利用VectorControl.Net...

    Usb Kilitleme c#_usbkilit_

    在这个场景下,可能是C#编写的USB锁定功能封装成了一个可供VB.NET调用的DLL,使得不同编程语言的项目也能利用这一功能。 关于USB设备管理,Windows API提供了一系列函数,如SetupDiGetClassDevs、DeviceIoControl等...

    win8系统下安装 .NET Framework 3.5出现错误代码:0x800F0906.docx

    它是一个由微软开发的软件框架,为Windows应用程序提供运行环境,支持各种编程语言,如C#、VB.NET等。.NET Framework 3.5包含了.NET Framework 2.0到3.5 SP1的所有功能,是许多老版本软件运行的必要条件。 错误代码...

    asp.net作业

    而会话对话框的更改可能指的是改变会话的设置,如设置会话过期时间、启用或禁用特定的会话变量,或者在特定条件下清除会话内容。 接下来,我们讨论用户登录系统。在任何涉及用户交互的Web应用中,安全的用户登录是...

Global site tag (gtag.js) - Google Analytics