在上一篇 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#之间的差异主要体现在语法层面,而非功能...
根据提供的文件信息,本文将详细解释如何在C#中通过编程方式禁用和启用网络适配器(网卡)。此方法不依赖于控制面板命令,而是利用了Windows Management Instrumentation (WMI) API来实现这一功能。 ### C#中禁用和...
在.NET框架下,C#和VB.NET都是微软开发的编程语言,它们可以通过.NET互操作性进行通信。本主题聚焦于如何使用C#编写一个动态链接库(DLL),然后让Visual Basic(VB)程序来调用这些DLL中的函数。以下是详细步骤和...
### C#和VB.Net DataGridView用法總結 DataGridView控件是.NET Framework提供的一个非常强大的用于在Windows应用程序中显示和编辑数据的控件。它能够直接绑定到数据源,并且提供了丰富的自定义选项来满足各种复杂的...
例如,对于一个名为`button1`的按钮,可以使用以下C#代码来启用或禁用它: ```csharp button1.Enabled = true; // 启用 button1.Enabled = false; // 禁用 ``` 2. **WPF (Windows Presentation Foundation)** ...
标题中的".net下的多媒体定时器"指的是使用.NET编程语言(如C#或VB.NET)实现的多媒体定时器功能。这种定时器与系统级定时器不同,它依赖于Windows多媒体库,能提供比普通系统定时器更高的计时精度。 描述中提到的...
.NET Framework 3.5包含了多种编程语言的支持,如C#、VB.NET、C++/CLI等,并提供了大量API,如System.Collections、System.IO、System.Net等,便于开发者进行各种系统级操作。此外,WPF(Windows Presentation ...
.NET 创建存储过程函数允许开发人员使用 C# 或 VB.NET 等 .NET 语言来编写 SQL Server 的存储过程、函数和触发器,而非传统的 T-SQL。SQL Server 2005 及更高版本支持与 .NET CLR(Common Language Runtime)的集成...
ASP.NET是微软公司推出的用于构建Web应用程序的框架,它基于.NET Framework,提供了强大的服务器端编程模型,支持多种编程语言,如C#、VB.NET等。本教程深入探讨ASP.NET编程,特别是结合VB语言的使用,旨在帮助...
开发者可能使用了诸如C++、C#或VB.NET等编程语言,并利用Windows API函数,如`Hook`机制来实现键盘钩子,以及`SetProcessPriorityBoost`或`SetProcessUserModeTimeLimit`等函数来限制任务管理器的运行。 需要注意的...
在Windows桌面应用开发中,如使用Visual Studio进行C#或VB.NET开发,我们可以使用Windows Forms或WPF框架。在这些框架中,菜单通常以MenuStrip或MenuStrip控件的形式存在。要启用或禁用菜单项,可以通过以下步骤: ...
它提供了一个运行环境,使得开发者能够利用C#或VB.NET等高级语言进行编程,而无需直接与硬件打交道。此框架简化了在小型设备上构建复杂应用程序的过程。 在Windows 7(64位)系统上安装.NET Micro Framework的USB...
可以通过控制面板的“程序和功能”->“打开或关闭Windows功能”来开启IIS,确保勾选所有相关的信息服务子选项。 安装完IIS后,打开IIS管理器。对应用程序池进行设置,选择"Classic .NET AppPool",并根据需求将标识...
- 编程语言可选C++、C#、VB.NET等,使用.NET Framework或WinAPI进行系统级别的操作。 5. **权限管理**:由于涉及到系统核心组件的修改,执行这类操作通常需要管理员权限。因此,源代码可能需要处理权限请求,并...
关闭WinCE/Windows Mobile中的中文输入法,通常需要进行以下步骤: 1. **找到输入法设置工具**:在本案例中,我们有一个名为"InputDefaultSetting"的文件或工具,这可能是一个用于更改输入法设置的小型应用程序或...
SVG文件代码预览> VectorControl.Net还提供了许多Windows界面开发组件,包括弹出菜单时容器,形状和组件库选择器等> 打印支持> 两套完整的示例程序以及源代码(C#和VB.Net),全面全面展现了如何利用VectorControl.Net...
在这个场景下,可能是C#编写的USB锁定功能封装成了一个可供VB.NET调用的DLL,使得不同编程语言的项目也能利用这一功能。 关于USB设备管理,Windows API提供了一系列函数,如SetupDiGetClassDevs、DeviceIoControl等...
它是一个由微软开发的软件框架,为Windows应用程序提供运行环境,支持各种编程语言,如C#、VB.NET等。.NET Framework 3.5包含了.NET Framework 2.0到3.5 SP1的所有功能,是许多老版本软件运行的必要条件。 错误代码...
而会话对话框的更改可能指的是改变会话的设置,如设置会话过期时间、启用或禁用特定的会话变量,或者在特定条件下清除会话内容。 接下来,我们讨论用户登录系统。在任何涉及用户交互的Web应用中,安全的用户登录是...